如何在vb6中重新运行我的程序?
如何在vb6中重新运行(关闭然后运行)我的程序停止当前正在运行的可执行文件(在IDE上单击带有方形块图像的按钮),然后按住shift+F5以重新启动程序 停止当前正在运行的可执行文件(单击IDE上带有方形块图像的按钮),然后按住shift+F5键以重新启动程序 最好的方法可能是创建一个“观察者”应用程序,在终止之前在主应用程序中启动它 首先,主应用程序应该在启动时创建互斥或信号量。当你想重新启动应用程序时,让主应用程序启动watcher。观察者应用程序应该等待主应用程序互斥/信号量消失,然后重新启动主应用程序如何在vb6中重新运行我的程序?,vb6,Vb6,如何在vb6中重新运行(关闭然后运行)我的程序停止当前正在运行的可执行文件(在IDE上单击带有方形块图像的按钮),然后按住shift+F5以重新启动程序 停止当前正在运行的可执行文件(单击IDE上带有方形块图像的按钮),然后按住shift+F5键以重新启动程序 最好的方法可能是创建一个“观察者”应用程序,在终止之前在主应用程序中启动它 首先,主应用程序应该在启动时创建互斥或信号量。当你想重新启动应用程序时,让主应用程序启动watcher。观察者应用程序应该等待主应用程序互斥/信号量消失,然后重新
我最近发布了一个用VB6编写的信号量类,它可以解决一些困难的工作:最好的方法是创建一个“观察者”应用程序,在终止它之前在主应用程序中启动它 首先,主应用程序应该在启动时创建互斥或信号量。当你想重新启动应用程序时,让主应用程序启动watcher。观察者应用程序应该等待主应用程序互斥/信号量消失,然后重新启动主应用程序
我最近发布了一个用VB6编写的信号量类,它将负责一些艰苦的工作:另一种方法可能是创建一个启动可执行文件的批处理文件。使用异步调用调用此函数
然后,您将需要一些逻辑来检查是否没有两个实例同时运行。如果有,新的可以等一秒钟左右。如果仍然存在,则会发出用户警告。另一种方法可能是创建启动可执行文件的批处理文件。使用异步调用调用此函数 然后,您将需要一些逻辑来检查是否没有两个实例同时运行。如果有,新的可以等一秒钟左右。如果它仍然存在,则会发出用户警告。试试这个 主要项目:
Private Sub Command2_Click()
Call Shell(App.Path & "\Restart.exe", 1)
End Sub
重新启动项目:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_CLOSE = &H10
Private Sub Form_Load()
Dim WinWnd As Long
WinWnd = FindWindow(vbNullString, "Form1") 'Replace Form1 with Whatever your Form's Caption is
If WinWnd <> 0 Then
PostMessage WinWnd, WM_CLOSE, 0&, 0&
Else
MsgBox "No window of that name exists."
End If
Call Shell("Main.exe", 1)
End Sub
Private声明函数findwindowlib“user32”别名“FindWindowA”(ByVal lpClassName作为字符串,ByVal lpWindowName作为字符串),长度为
私有声明函数PostMessage Lib“user32”别名“PostMessageA”(ByVal hwnd为Long,ByVal wMsg为Long,ByVal wParam为Long,lParam为Any)为Long
常数WM_CLOSE=&H10
专用子表单_加载()
黯淡如长
WinWnd=FindWindow(vbNullString,“Form1”)'将Form1替换为表单的标题
如果WinWnd为0,则
PostMessage WinWnd,WM_CLOSE,0&,0&
其他的
MsgBox“不存在该名称的窗口。”
如果结束
调用Shell(“Main.exe”,1)
端接头
在这里找到试试这个
主要项目:
Private Sub Command2_Click()
Call Shell(App.Path & "\Restart.exe", 1)
End Sub
重新启动项目:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_CLOSE = &H10
Private Sub Form_Load()
Dim WinWnd As Long
WinWnd = FindWindow(vbNullString, "Form1") 'Replace Form1 with Whatever your Form's Caption is
If WinWnd <> 0 Then
PostMessage WinWnd, WM_CLOSE, 0&, 0&
Else
MsgBox "No window of that name exists."
End If
Call Shell("Main.exe", 1)
End Sub
Private声明函数findwindowlib“user32”别名“FindWindowA”(ByVal lpClassName作为字符串,ByVal lpWindowName作为字符串),长度为
私有声明函数PostMessage Lib“user32”别名“PostMessageA”(ByVal hwnd为Long,ByVal wMsg为Long,ByVal wParam为Long,lParam为Any)为Long
常数WM_CLOSE=&H10
专用子表单_加载()
黯淡如长
WinWnd=FindWindow(vbNullString,“Form1”)'将Form1替换为表单的标题
如果WinWnd为0,则
PostMessage WinWnd,WM_CLOSE,0&,0&
其他的
MsgBox“不存在该名称的窗口。”
如果结束
调用Shell(“Main.exe”,1)
端接头
在这里找到我的意思是重新启动exe程序通过“重新启动exe程序”,我知道在再次运行程序之前,已经有一个正在运行的窗口需要停止。我的意思是重新启动exe程序通过“重新启动exe程序”,我知道在再次运行程序之前,已经有一个正在运行的窗口需要停止。我误解你了吗?