软件自动还原已经打开的窗口,该如何解决

软件自动还原已经打开的窗口
程序远行后,用户点了窗口右上角最小化后.过了很长时间,用户有时已经忘了打开过程序了,当再次点EXE时可以判断原来的程序是否在远行,如果有在运行的话,可以提示不能重复运行.
If App.PrevInstance = True Then
  MsgBox "软件已经运行!"
  End
End If
现在的问题是能否在提示完不能重复运行后,软件自动还原已经打开的窗口.是打开过的窗口恢复原来的大小,而不是在最小化的状态.

------解决方案--------------------
探讨
引用:
1、h = FindWindow(vbNullString, "窗口名称")
2、SendMessage h, WM_SYSCOMMAND, SC_RESTORE, 0&

如果不知道当前打开了哪个窗口呢

------解决方案--------------------
9楼这个笨办法经测试可行:

VB code
Option Explicit
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Private Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_SHOWNORMAL As Long = 1

Dim AhWnd As Long '前台活动窗口句柄
Private Sub Command1_Click()
        Unload Me
End Sub

Private Sub Form_Initialize()
        Dim FileNumber As Long, Rtn As Long
        FileNumber = FreeFile
        If App.PrevInstance Then
           Open "c:\AhWnd.hwnd" For Binary As #FileNumber
           Get #FileNumber, 4, Rtn
           Close #FileNumber
           MsgBox "软件已经运行!" & "进程一句柄:" & Rtn & " 进程二句柄:" & Me.hwnd
           Call ShowWindow(Rtn, SW_SHOWNORMAL)
           Unload Me: End
        End If
End Sub

Private Sub Form_Load()
        Me.Caption = Me.hwnd
        Timer1.Interval = 100
        Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
        Dim FileNumber As Long
        AhWnd = GetForegroundWindow
        FileNumber = FreeFile
        If AhWnd = Me.hwnd Then
           Open "c:\AhWnd.hwnd" For Binary As #FileNumber
           Put #FileNumber, 4, AhWnd
           Close #FileNumber
           Timer1.Enabled = False
        End If
End Sub