Всем привет.
Вот вроде написал скрипт для заморозки процесса, который мы введём в поле для ввода информации.
Вот сам скрипт, когда пытаюсь его запустить выдают ошибку, что я зделал не так?
Вот вроде написал скрипт для заморозки процесса, который мы введём в поле для ввода информации.
Вот сам скрипт, когда пытаюсь его запустить выдают ошибку, что я зделал не так?
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $process=$Input, $fSuspended
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Заморозка процесса", 290, 57, 192, 124)
$Input = GUICtrlCreateInput("pb.exe", 8, 16, 105, 21)
GUICtrlSetBkColor(-1, 0xDCDFE4)
$Button1 = GUICtrlCreateButton("Заморозить\разморозить", 128, 16, 147, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_ProcSuspendResume($process)
EndSwitch
WEnd
Func _ProcSuspendResume($process)
$processid = ProcessExists($process)
If $processid Then
If $fSuspended Then
$ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, '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
$fSuspended = 0
Return 1
Else
SetError(1)
Return 0
Endif
Else
$ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, '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
$fSuspended = 1
Return 1
Else
SetError(1)
Return 0
Endif
EndIf
Else
SetError(2)
Return 0
Endif
EndFunc
Global $fSuspended = 0