Public Const M_DEF_ID As Long = 99999999Public Function CheckAppliction(ByVal Obj As Object) As Boolean Dim lngHwnd As Long Dim lngData As Long CheckAppliction = False With Obj Call SetWindowLong(.HWnd, GWL_USERDATA, M_DEF_ID)
lngHwnd = FindWindow(vbNullString, vbNullString) Do Until lngHwnd = 0 lngData = GetWindowLong(lngHwnd, GWL_USERDATA)
If (lngData = M_DEF_ID) And (lngHwnd <> .HWnd) Then
If IsIconic(lngHwnd) Then Call ShowWindow(lngHwnd, SW_RESTORE) End If Call SetActiveWindow(lngHwnd)
CheckAppliction = True Exit Do End If lngHwnd = GetWindow(lngHwnd, GW_HWNDNEXT) Loop End WithEnd FunctionPrivate Sub Form_Load() If g_Sys.CheckAppliction(Me) Then End End Sub
If App.PrevInstance Then Msg = "价格举报管理系统已经运行!" MsgBox Msg, vbInformation, "系统提示" End End If 是不是要这个?
If App.PrevInstance Then Msg = "价格举报管理系统已经运行!" MsgBox Msg, vbInformation, "系统提示" End End If这个只能判断是否有相同的程序在运行,我还要一个功能,就是已经运行的程序要被激活,自动跳到窗口的最前面来.如果最小化了要恢复正常
Private Sub Form_Load() If App.PrevInstance Then End End If End Sub
Private Sub Form_Load() If App.PrevInstance Then End AppActivate "你窗口的标题" 'AppActivate用法 AppActivate +“所要激活应用程序窗口标题” End If End Sub
呵呵 那个要放在end前面 失误 Private Sub Form_Load() If App.PrevInstance Then AppActivate "你窗口的标题" 'AppActivate用法 AppActivate +“所要激活应用程序窗口标题” End End If End Sub
Dim lngHwnd As Long
Dim lngData As Long CheckAppliction = False With Obj
Call SetWindowLong(.HWnd, GWL_USERDATA, M_DEF_ID)
lngHwnd = FindWindow(vbNullString, vbNullString) Do Until lngHwnd = 0
lngData = GetWindowLong(lngHwnd, GWL_USERDATA)
If (lngData = M_DEF_ID) And (lngHwnd <> .HWnd) Then
If IsIconic(lngHwnd) Then
Call ShowWindow(lngHwnd, SW_RESTORE)
End If
Call SetActiveWindow(lngHwnd)
CheckAppliction = True Exit Do
End If
lngHwnd = GetWindow(lngHwnd, GW_HWNDNEXT)
Loop
End WithEnd FunctionPrivate Sub Form_Load()
If g_Sys.CheckAppliction(Me) Then End
End Sub
所以不能用某个form的句柄来判断啊
Msg = "价格举报管理系统已经运行!"
MsgBox Msg, vbInformation, "系统提示"
End
End If
是不是要这个?
Msg = "价格举报管理系统已经运行!"
MsgBox Msg, vbInformation, "系统提示"
End
End If这个只能判断是否有相同的程序在运行,我还要一个功能,就是已经运行的程序要被激活,自动跳到窗口的最前面来.如果最小化了要恢复正常
If App.PrevInstance Then
End
End If
End Sub
If App.PrevInstance Then
End
AppActivate "你窗口的标题" 'AppActivate用法 AppActivate +“所要激活应用程序窗口标题” End If
End Sub
Private Sub Form_Load()
If App.PrevInstance Then
AppActivate "你窗口的标题" 'AppActivate用法 AppActivate +“所要激活应用程序窗口标题”
End
End If
End Sub