首页 /编程语言和算法/VB6/VBA/ASP
 VB6 防止程序重复运行并且激活当前正在运行的程序窗口
今天 15:43

新建From1(窗体),代码:

Private Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
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_SYSCOMMAND = &H112
Private Const SC_RESTORE = &HF120&

Private Sub Form_Load()
    Call ActivateTheForm
End Sub

Private Sub ActivateTheForm()
    Dim Designation As String, According As String
    If App.PrevInstance Then
        Designation = Me.Caption
        Me.Caption = Designation & Space$(1)
        According = FindWindow(vbNullString, Designation)
        Call SetForegroundWindow(According)
        Call SendMessage(According, WM_SYSCOMMAND, SC_RESTORE, 0)
        End
    End If
End Sub


 
全部回复(0)
首页 | 电脑版 |