该实例虽然是已经在运行但是找不到窗体,所以想杀掉这个已经在运行的实例.
不要告诉我用下面的代码:
If App.PrevInstance Then
MsgBox ("程序已经运行,不能再次装载。"), vbExclamation
End
End If 这些代码只是判断实例在运行后就不要运行新的实例,而我要的是判断实例在运行后就杀掉这个已经在运行的实例,然后重新运行新的应用程序.哪位高手能告诉我如何实现这个功能.谢谢!
不要告诉我用下面的代码:
If App.PrevInstance Then
MsgBox ("程序已经运行,不能再次装载。"), vbExclamation
End
End If 这些代码只是判断实例在运行后就不要运行新的实例,而我要的是判断实例在运行后就杀掉这个已经在运行的实例,然后重新运行新的应用程序.哪位高手能告诉我如何实现这个功能.谢谢!
解决方案 »
- VB6报13 类型不匹配
- VSflexgrid控件使用问题
- 好久没来了,想念大家,所以今天来散分?(兄弟们来接分)
- 提一个简单的问题!
- 毕设vb链接数据的程序出错 显示“要求对象”
- 加载程序的时候提示:控件 PETOCX1 的类 PETOCXLib.PETOCX 不是一个已加载的控件类。我该怎么做啊???急!!!!
- Printer对象打印问题?
- 有些邮件群发软件会出现一个"MX服务器",请问这是什么东西啊?可否具体介绍一下!
- 如何发布用vb做的软件,给100分
- 注册表被锁,怎么样自己编一个扩展名为reg的注册表文件解锁~~!!
- 怎樣做到像3721那樣瀏覽到網頁時自動將組件下載到本机?
- 关于WORD自动保存文件
Public Declare Function CloseWindow Lib "user32" Alias "CloseWindow" (ByVal hwnd As Long) As Long
'起见,临时文件的文件名最好特殊一些,以免误删文件
'如果追求更高的效率,可考虑使用文件映射'窗体上一个按钮,一个textbox,添加这2个控件的目的是和新实例进行区别
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_CLOSE = &H10
Dim Filename As StringPrivate Sub Command1_Click()
Text1.Text = "this is test"
End SubPrivate Sub Form_Load()
On Error Resume Next
Dim i As Long, oldhwnd As Long
Filename = "c:\mydata.dat"
If App.PrevInstance = True Then
Open Filename For Binary As #1
Get #1, , oldhwnd
Close #1
SendMessage oldhwnd, WM_CLOSE, 0&, ByVal 0&
Kill Filename
i = Me.hwnd
Open Filename For Binary As #1
Put #1, , i
Close #1
Else
Kill Filename
i = Me.hwnd
Open Filename For Binary As #1
Put #1, , i
Close #1
End If
End SubPrivate Sub Form_Unload(Cancel As Integer)
Kill Filename
End Sub