На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: SCINER, B.V.
  
    > Как закрыть внешнюю программу
      Первый способ просто послать ей сообщение о закрытии

      ExpandedWrap disabled
        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_CLOSE = &H10
        Private Sub CloseProg(Handle As Long)
        Call SendMessage(Handle, WM_CLOSE, 0, 0)
        End Sub


      Второй способ более мощный и бесцеремонный

      ExpandedWrap disabled
        Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
        Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
        ByVal dwProcessId As Long) As Long
        Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
        Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) 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 PROCESS_TERMINATE = &H1, WM_QUERYENDSESSION = &H11, WM_ENDSESSION = &H16
         
        Private Sub CloseProg(Handle As Long)
        Dim pID As Long, hProc As Long
        Call GetWindowThreadProcessId(Handle, pID)
        hProc = OpenProcess(PROCESS_TERMINATE, False, pID)
        Call SendMessage(Handle, WM_QUERYENDSESSION, 0, 1)
        Call SendMessage(Handle, WM_ENDSESSION, -1, 1)
        Call TerminateProcess(hProc, 0)
        Call CloseHandle(hProc)
        End Sub
      Сообщение отредактировано: Andrey_Kun -
      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0166 ]   [ 15 queries used ]   [ Generated: 14.05.24, 16:29 GMT ]