Что нового

Как заморозить процесс введенный в Input

Rustamchichek

Новичок
Сообщения
2
Репутация
0
Здравствуйте, помогите пожалуйста, http://autoit-script.ru/index.php?topic=4377.0, вот эта тема, этот скрипт замораживает процесс в который мы вводим данные? он никак не переключится? а то просто есть тема такая чтобы запускать две игры по половине экрана, получается как бы SplitScreen, одно окно естественно не активно, для этого я воспользовался AutoHotKey для отправки нажатий в неактивное окно, но такая вещь происходит, что в одном режиме всё работает как часы, а в другом при одном только нажатии на устройстве ввода для неактивного окна, оно становится активным, т.е. уже ничего не работает, ни первое ни второе. Не поругаются они между собой AutoIt и AutoHotKey
 

IMStrelcov

CTPEJIbLLOB
Сообщения
258
Репутация
66
Код:
_PROCESSSUSPEND('kmplayer.exe') ;заморозить
Sleep(10000) ;подожать
_PROCESSRESUME('kmplayer.exe') ;и разморозить

Func _PROCESSSUSPEND($PROCESS) 
   $PROCESSID = ProcessExists($PROCESS) 
   If $PROCESSID Then 
      $AI_HANDLE = DllCall("kernel32.dll", "int", "OpenProcess", "int", 2035711, "int", False, "int", $PROCESSID) 
      $I_SUCESS = DllCall("ntdll.dll", "int", "NtSuspendProcess", "int", $AI_HANDLE[0]) 
      DllCall("kernel32.dll", "ptr", "CloseHandle", "ptr", $AI_HANDLE) 
         If IsArray($I_SUCESS) Then 
            Return 1 
         Else 
            SetError(1) 
            Return 0 
         EndIf
   Else 
      SetError(2) 
      Return 0 
   EndIf 
EndFunc

Func _PROCESSRESUME($PROCESS) 
   $PROCESSID = ProcessExists($PROCESS) 
   If $PROCESSID Then 
      $AI_HANDLE = DllCall("kernel32.dll", "int", "OpenProcess", "int", 2035711, "int", False, "int", $PROCESSID) 
      $I_SUCESS = DllCall("ntdll.dll", "int", "NtResumeProcess", "int", $AI_HANDLE[0]) 
      DllCall("kernel32.dll", "ptr", "CloseHandle", "ptr", $AI_HANDLE) 
         If IsArray($I_SUCESS) Then 
            Return 1 
         Else 
            SetError(1) 
            Return 0 
         EndIf 
   Else 
      SetError(2) 
      Return 0 
   EndIf 
EndFunc
 
Автор
R

Rustamchichek

Новичок
Сообщения
2
Репутация
0
IMStrelcov сказал(а):
Код:
_PROCESSSUSPEND('kmplayer.exe') ;заморозить
Sleep(10000) ;подожать
_PROCESSRESUME('kmplayer.exe') ;и разморозить

Func _PROCESSSUSPEND($PROCESS) 
   $PROCESSID = ProcessExists($PROCESS) 
   If $PROCESSID Then 
      $AI_HANDLE = DllCall("kernel32.dll", "int", "OpenProcess", "int", 2035711, "int", False, "int", $PROCESSID) 
      $I_SUCESS = DllCall("ntdll.dll", "int", "NtSuspendProcess", "int", $AI_HANDLE[0]) 
      DllCall("kernel32.dll", "ptr", "CloseHandle", "ptr", $AI_HANDLE) 
         If IsArray($I_SUCESS) Then 
            Return 1 
         Else 
            SetError(1) 
            Return 0 
         EndIf
   Else 
      SetError(2) 
      Return 0 
   EndIf 
EndFunc

Func _PROCESSRESUME($PROCESS) 
   $PROCESSID = ProcessExists($PROCESS) 
   If $PROCESSID Then 
      $AI_HANDLE = DllCall("kernel32.dll", "int", "OpenProcess", "int", 2035711, "int", False, "int", $PROCESSID) 
      $I_SUCESS = DllCall("ntdll.dll", "int", "NtResumeProcess", "int", $AI_HANDLE[0]) 
      DllCall("kernel32.dll", "ptr", "CloseHandle", "ptr", $AI_HANDLE) 
         If IsArray($I_SUCESS) Then 
            Return 1 
         Else 
            SetError(1) 
            Return 0 
         EndIf 
   Else 
      SetError(2) 
      Return 0 
   EndIf 
EndFunc

Вот в этом случае, к примеру фильм, продолжает воспроизводится или останавливается?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Rustamchichek,
Предупреждение За нарушение общих правил (пункт В.2):
Старайтесь избегать “Over quoting” (преувеличенное цитирование) - цитируйте только необходимую часть сообщения, которая наилучшим образом подчеркнёт суть цитируемого.


С уважением, ваш Глобальный модератор.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Rustamchichek [?]
в этом случае, к примеру фильм, продолжает воспроизводится или останавливается?
А проверить никак?
 
Верх