vb:辅助程序监视主程序进程,如果没运行就打开并点击command3,前面的写好了,怎么点击?在哪里写代码?
这是辅助程序的代码,在哪里加上点击主程序的command3的代码?怎么加?辅助程序代码如下:OptionExplicitFunctionFindProcess(Proce...
这是辅助程序的代码,在哪里加上点击主程序的command3的代码?怎么加?辅助程序代码如下:
Option Explicit
Function FindProcess(ProcessName) As Boolean
Dim ps
'枚举进程
For Each ps In GetObject("winmgmts:\\.\root\cimv2:win32_process").instances_ '循环进程
If UCase(ps.Name) = UCase(ProcessName) Then
FindProcess = True
Exit Function
End If
Next
End Function
Private Sub Timer1_Timer()
If FindProcess("主程序1.0.0.2.exe") Then '在此修改为你要找的程序名
Else
Dim str
str = App.Path '将当前路径赋给字符串
Shell str & "\主程序1.0.0.2.exe" '打开当前目录下的主程序1.0.0.2.EXE
End If
End Sub
快啊,有急用,如果行的话我提高悬赏 展开
Option Explicit
Function FindProcess(ProcessName) As Boolean
Dim ps
'枚举进程
For Each ps In GetObject("winmgmts:\\.\root\cimv2:win32_process").instances_ '循环进程
If UCase(ps.Name) = UCase(ProcessName) Then
FindProcess = True
Exit Function
End If
Next
End Function
Private Sub Timer1_Timer()
If FindProcess("主程序1.0.0.2.exe") Then '在此修改为你要找的程序名
Else
Dim str
str = App.Path '将当前路径赋给字符串
Shell str & "\主程序1.0.0.2.exe" '打开当前目录下的主程序1.0.0.2.EXE
End If
End Sub
快啊,有急用,如果行的话我提高悬赏 展开
展开全部
由于没有主程序,这里给你调用的思路,供参考:
1、添加Timer2控件,并设Timer2.Enable=False,在以下插入:
Private Sub Timer1_Timer()
If FindProcess("主程序1.0.0.2.exe") Then '在此修改为你要找的程序名
Timer1.Enable=False
Timer2.Enable=True
Else
Dim str
str = App.Path '将当前路径赋给字符串
Shell str & "\主程序1.0.0.2.exe" '打开当前目录下的主程序1.0.0.2.EXE
End If
End Sub
2、Private Sub Timer2_Timer()
a.通过Findwindow查找 “主程序1.0.0.2.exe ”的窗口,获得窗口句柄Hwd0
b.通过FindwindowEx查找 Hwd0内部command3的窗口句柄Hwd1
c.执行以下代码进行模拟点击command3按钮:
Sleep 100
SendMessage Hwd1, WM_KEYDOWN, vbkey, 0& '模拟按下指定键
Sleep 100
SendMessage Hwd1, WM_KEYUP, vbkey, 0&
Timer2.Enable=False
'如果没反应,用PostMessage代替SendMessage即可。
End Sub
1、添加Timer2控件,并设Timer2.Enable=False,在以下插入:
Private Sub Timer1_Timer()
If FindProcess("主程序1.0.0.2.exe") Then '在此修改为你要找的程序名
Timer1.Enable=False
Timer2.Enable=True
Else
Dim str
str = App.Path '将当前路径赋给字符串
Shell str & "\主程序1.0.0.2.exe" '打开当前目录下的主程序1.0.0.2.EXE
End If
End Sub
2、Private Sub Timer2_Timer()
a.通过Findwindow查找 “主程序1.0.0.2.exe ”的窗口,获得窗口句柄Hwd0
b.通过FindwindowEx查找 Hwd0内部command3的窗口句柄Hwd1
c.执行以下代码进行模拟点击command3按钮:
Sleep 100
SendMessage Hwd1, WM_KEYDOWN, vbkey, 0& '模拟按下指定键
Sleep 100
SendMessage Hwd1, WM_KEYUP, vbkey, 0&
Timer2.Enable=False
'如果没反应,用PostMessage代替SendMessage即可。
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-02-14
展开全部
你可以进一步学习,找出像打开普通软件一样打开你编的软件的方法。 追问: 擦,我认为我写的正确,为什么不运行啊,VB写程序都是要经过运行检验的呀,如果出错是会提示,我再作出修改的,没有人能够确保自己都正确,否则VB也不会有调试的功能了!
追问
额,好像要用到call
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把代码写在一个过程里,启动 Load 就加载这个过程不就是了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Shell str & "\主程序1.0.0.2.exe abc" ---abc为参数,自定义
主程序load中
Dim Canshu As String
Canshu = Command$
if Canshu = "abc" then
--调用command3的代码
end if
主程序load中
Dim Canshu As String
Canshu = Command$
if Canshu = "abc" then
--调用command3的代码
end if
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询