如果程序已经在运行中,双击程序图标激活前台运行中的程序窗体还原到桌面,代码如下:
Option Explicit
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
Public 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