Declare Function FindWindow& Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" (ByVal hwnd As Long, _ ByVal wMsg As Long, ByVal wParam As Long, _ lParam As Any) As Long Declare Sub Sleep Lib "kernel32" _ (ByVal dwMilliseconds As Long) Public Const WM_CLOSE = &H10 'Il resto del codice va inserito in un modulo di classe, 'chiamato per esempio Cclose: Private m_sEXEName As String Private m_sDosCaption As String Public Sub RunDosApp() Dim vReturnValue As Variant Dim lRet As Long Dim i As Integer vReturnValue = Shell(m_sEXEName, 1) ' Esegue l'applicazione AppActivate vReturnValue ' Attiva la finestra Do Sleep (10000) lRet = FindWindow(vbNullString, m_sDosCaption) If (lRet <> 0) Then vReturnValue = SendMessage(lRet, WM_CLOSE, &o0, &o0) Exit Do End If Loop End Sub |