vb 检测程序是否正在运行,若正在运行则显示窗体
现在在用vb写程序,有一个功能是完全隐藏(就是托盘图标和任务栏都不显示但是继续运行),现在希望加上的功能是在已经运行的时候再次尝试双击运行程序时,原先完全隐藏的程序显示出...
现在在用vb写程序,有一个功能是完全隐藏(就是托盘图标和任务栏都不显示但是继续运行),现在希望加上的功能是在已经运行的时候再次尝试双击运行程序时,原先完全隐藏的程序显示出来,包括窗体、任务栏图标和任务栏信息。
希望给出详细代码!最好可以给一些注释解释一下 展开
希望给出详细代码!最好可以给一些注释解释一下 展开
2个回答
展开全部
VB遍历进程查找窗口,这个过程很繁琐,而且代码量很大,所以我的代码用了巧妙的方法,在运行时在注册表保存了窗口句柄,这样就不用再查找了。测试通过,环境Win7+VB6:
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Const SW_SHOW = 5
Private Sub Command1_Click()
Me.Hide
End Sub
Private Sub Form_Load()
Dim hwd As Long
If App.PrevInstance Then
MsgBox "程序已经运行!"
hwd = CLng(GetSetting(App.EXEName, "App", "MyHwnd"))
ShowWindow hwd, SW_SHOW
End
Else
SaveSetting App.EXEName, "App", "MyHwnd", Me.hwnd
End If
End Sub
更多追问追答
追问
我想问一下,如果这样的话把主程序复制放到另外一个路径会不会仍然可以重复运行?
追答
不会,和路径无关!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询