CloseDOSApp




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










( closedosapp.html )- by Paolo Puglisi - Modifica del 17/12/2023