vb 窗体焦点切换问题--请各位高手指点

来源:百度知道 编辑:UC知道 时间:2024/05/13 06:08:09
我做了一个EXE程序,要运行两次并实现两个程序间的焦点切换。我用的是串口去触发的,问题是全部运行以便后,触发了第一次运行的程序的串口,焦点会移动到第一个程序中(切过去最小化的窗口会有闪动但是没有完全选中,需要用鼠标单机后才会执行第一个程序中的事件)但是我按回车后执行的确实第二个程序的事件....
请问这个具体的原因是什么?需要怎么进行切换
不论用什么方法调试成功就给分,请给出源代码,谢谢!
不行的,我需要两个程序都要运行的,不能一个运行另外一个停止

楼主如果是想实现切换到一个应用程序的另一个实例,可由以下代码实现

建立一个模块

Private Const SC_RESTORE = &HF120
Private Const WM_SYSCOMMAND = &H112

Private Declare Function GetProp Lib "user32" Alias "GetPropA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Public Declare Function SetProp Lib "user32" Alias "SetPropA" (ByVal hwnd As Long, ByVal lpString As String, ByVal hData As Long) As Long
Private Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, lParam As Long) As Long
Private Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SendMessageBynum& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)

Public strWindowProp As String