Private Sub Command1_Click() Dim x As Single x = Val(InputBox("")) If x = 1 Then Call a1 ElseIf x = 2 Then Call a2 ElseIf x = 3 Then Call a3 Else Call a4 End If End SubPublic Function a1() MsgBox "a1", vbInformation End FunctionPublic Function a2() MsgBox "a2", vbInformation End FunctionPublic Function a3() MsgBox "a3", vbInformation End FunctionPublic Function a4() MsgBox "a4", vbInformation End Function
ding xia ,wei shen me mei ren lai hui da a ?顶下,为什么没人来帮忙啊?
如果是就好办,可以通过注册表,txt文件,ini文件,数据库什么的来验证输入。
即“我的程序”写入内容,程序A读出和验证
Dim x As Single
x = Val(InputBox(""))
If x = 1 Then
Call a1
ElseIf x = 2 Then
Call a2
ElseIf x = 3 Then
Call a3
Else
Call a4
End If
End SubPublic Function a1()
MsgBox "a1", vbInformation
End FunctionPublic Function a2()
MsgBox "a2", vbInformation
End FunctionPublic Function a3()
MsgBox "a3", vbInformation
End FunctionPublic Function a4()
MsgBox "a4", vbInformation
End Function
拦截程序A的所有窗口消息(也可以拦截A的某个按钮的消息),如果发现是你想要的点击消息,那么执行你指定的程序,执行后如果希望A程序继续执行,那么把消息传给下一个钩子,否则不继续传下去。另外一种方法,很笨但是至少VB可以靠自己完成。
就是你定义一个和A程序的按钮一模一样的窗口,或者说定义一个没有边框的窗口,里面只放一个按钮。
接下来,把这个窗口设置成你要拦截的窗口(或者是窗口的按钮)的子窗口,调整好位置,使其覆盖原有按钮。这里需要的是一系列的SendMessage或者是SetWindowLong的操作,一下子说不清楚。
剩下的就好办了,用户点击的实际上就是你的窗口,如果希望A程序作出反应,那么给A程序的指定按钮发送一个点击消息就好了。
一个按钮被按到不一定是鼠标点击,有可能是选中之后按下空格,或者按一下快捷健等等:)
另外,标准的CheckBox,Text之类的也都有标准的方式发给主窗口消息。特殊的按钮可以不符合这样的规律。
一般来说,一个程序(进程)是不能调用另一个程序里面的函数的。只能去调用一个DLL。