用这个
If App.PrevInstance Then
msgbox "现在已经有一个实例在运行了"
'当然这样的话你就可以做你想做的事情了
'如果你想把哪个已运行的窗体激活,可以用SetFocus api函数
End If
If App.PrevInstance Then
msgbox "现在已经有一个实例在运行了"
'当然这样的话你就可以做你想做的事情了
'如果你想把哪个已运行的窗体激活,可以用SetFocus api函数
End If
解决方案 »
- 求一个vb6.0+SQL数据库操作实例
- vb怎么打包gif图片到资源?
- 请问怎样能彻底清除Temporary Internet Files和他子目录里的所有文件?
- 怎样更改mp3文件的作者和歌名信息(通过编程实现)?
- 急,高分等待(100分) 关于html help workshop的原始问题
- 报表设计:
- 菜鸟问题,我编译了一个程序,但关闭FORM的时候程序还在内存中,请问怎办?
- 在Printer中如何设置双向打印?
- 经典代码!!!
- 请acptvb(微软全球技术中心 VB技术支持)出面解决用internet transfer组件post数据时遇到的新问题
- 长沙的朋友进来一下!
- 如何取得Windows工具条的高度值
注册表中的初值可以在打包程序中建立,也可以在第一次运行时生成。
如果非法退出程序后,岂不是完蛋了????
我这样用,OK!
^_^Private Const STR_WINDOW_NAME = "My Project"
Private Const SW_RESTORE = 9Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As LongPrivate Sub Form_Load()Dim lHandle As Long
lHandle = FindWindow(vbNullString, STR_WINDOW_NAME)
If (lHandle <> 0) Then
ShowWindow lHandle, SW_RESTORE
lHandle = SetForegroundWindow(lHandle)
End
End IfEnd Sub
简单明了,而且实用
If App.PrevInstance Then
msgbox "现在已经有一个实例在运行了"
'当然这样的话你就可以做你想做的事情了
'如果你想把哪个已运行的窗体激活,可以用SetFocus api函数
End If
lHandle = FindWindow(vbNullString, STR_WINDOW_NAME)
If (lHandle <> 0) Then
ShowWindow lHandle, SW_RESTORE
lHandle = SetForegroundWindow(lHandle)
Call BUTN_Enabled(True)
Exit Sub
End If
tbToolBar.Buttons(23).Enabled = False
str = App.path
If Right(str, 1) <> "\" Then
str = str + "\" + "Help.exe"
End If
If Dir$(str) = Empty Then
msgInfo = MsgBox("请注意!目标文件不存在或被损坏,程序不能正常运行!!!", 64)
Else
Shell str, vbNormalFocus
End If