|
You last visited: Today at 01:48
Advertisement
2 Fragen O.o
Discussion on 2 Fragen O.o within the AutoIt forum part of the Coders Den category.
02/24/2011, 20:58
|
#1
|
elite*gold: 0
Join Date: Jul 2010
Posts: 307
Received Thanks: 290
|
2 Fragen O.o
Hallo Leute!
Ich wollte mal für S4 einen suspender machen nur ich bekomme 2 nein sogesehen 4 sachen nicht hin O.o
die ersten drei sachen sind das Suspenden, Resumen und das Killen eines prozesses O.o ich hab eig die richtigen func dafür nur wenn ich dann auf suspend oder die andern 2 klicke kommt nix ...
Und Das Zweite ist ich möchte ein label so machen also als erstes steht ein prozess dann steht links ...Nicht Gefunden... und ich das so haben das wenn ein bestimmter prozess auftaucht sich das in z.B. Läuft Ändert ich hab schon gegooglet aber vergeblich O.o
Bitte Helft Mir!
Danke Im Voraus!
Lg Toasty-man
Aber damit ihr mir besser helfen könnt hier ein nachgestelltes script:
PHP Code:
#RequireAdmin
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Suspender", 218, 216, 192, 124)
$Label1 = GUICtrlCreateLabel("HGWC.exe :", 8, 8, 64, 17)
$Label2 = GUICtrlCreateLabel("Aegis.exe :", 8, 32, 56, 17)
$Label3 = GUICtrlCreateLabel("Aegis64.exe :", 8, 56, 68, 17)
$Label4 = GUICtrlCreateLabel("S4Client.exe", 8, 80, 63, 17)
$Label5 = GUICtrlCreateLabel("Xtrao.xt :", 8, 104, 46, 17)
$Label6 = GUICtrlCreateLabel("...Nicht Gefunden...", 96, 8, 97, 17)
$Label7 = GUICtrlCreateLabel("...Nicht Gefunden...", 96, 32, 97, 17)
$Label8 = GUICtrlCreateLabel("...Nicht Gefunden...", 96, 56, 97, 17)
$Label9 = GUICtrlCreateLabel("...Nicht Gefunden...", 96, 80, 97, 17)
$Label10 = GUICtrlCreateLabel("...Nicht Gefunden...", 96, 104, 97, 17)
$Button1 = GUICtrlCreateButton("Suspend", 8, 128, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Resume", 96, 128, 75, 25, $WS_GROUP)
$Button3 = GUICtrlCreateButton("Kill", 8, 160, 75, 25, $WS_GROUP)
$Button4 = GUICtrlCreateButton("Exit", 96, 160, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$PID = ProcessExists("HGWC.exe")
$PID1 = ProcessExists("Aegis.exe")
$PID2 = ProcessExists("Aegis64.exe")
$PID3 = ProcessExists("S4Client.exe")
$PID4 = ProcessExists("Xtrap.xt")
Global Const $PROCESS_SUSPEND_RESUME = 0x0800
Global Const $SYNCHRONIZE = 0x00100000
Global Const $PROCESS_TERMINATE = 0x0001
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_ProcessSuspend($PID)
_ProcessSuspend($PID1)
_ProcessSuspend($PID2)
_ProcessSuspend($PID3)
_ProcessSuspend($PID4)
Case $Button2
_ProcessResume($PID)
_ProcessResume($PID1)
_ProcessResume($PID2)
_ProcessResume($PID3)
_ProcessResume($PID4)
Case $Button3
_ProcessTerminate($PID)
_ProcessTerminate($PID1)
_ProcessTerminate($PID2)
_ProcessTerminate($PID3)
_ProcessTerminate($PID4)
Case $Button4
Exit
EndSwitch
WEnd
Func _ProcessTerminate($iPID)
$vDLL = DllOpen('Kernel32.dll')
$vProc = DllCall($vDLL, "hwnd", "OpenProcess", "dword", $SYNCHRONIZE + $PROCESS_TERMINATE, "int", False, "dword", $iPID)
$vReturn = DllCall($vDLL, "int", "TerminateProcess", "hwnd", $vProc[0], "int", 0)
DllCall($vDLL, "int", "CloseHandle", "hwnd", $vProc[0])
Return $vReturn[0]
EndFunc
Func _ProcessResume($iPID)
$vDLL = DllOpen('Kernel32.dll')
$vProc = DllCall($vDLL, "hwnd", "OpenProcess", "dword", $SYNCHRONIZE + $PROCESS_SUSPEND_RESUME, "int", False, "dword", $iPID)
$vReturn = DllCall("ntdll.dll", "int", "NtResumeProcess", "hwnd", $vProc[0])
DllCall($vDLL, "int", "CloseHandle", "hwnd", $vProc[0])
Return $vReturn[0]
EndFunc
Func _ProcessSuspend($iPID)
$vDLL = DllOpen('Kernel32.dll')
$vProc = DllCall($vDLL, "hwnd", "OpenProcess", "dword", $SYNCHRONIZE + $PROCESS_SUSPEND_RESUME, "int", False, "dword", $iPID)
$vReturn = DllCall("ntdll.dll", "int", "NtSuspendProcess", "hwnd", $vProc[0])
DllCall($vDLL, "int", "CloseHandle", "hwnd", $vProc[0])
Return $vReturn[0]
EndFunc
|
|
|
02/24/2011, 21:09
|
#2
|
elite*gold: 0
Join Date: Feb 2010
Posts: 344
Received Thanks: 151
|
Eine ProcessTerminate UDF brauchst du nicht, es gibt schon ProcessClose("exe.exe").
Mach am Anfang des Skripts #RequireAdmin
Vielleicht ist das Programm vor dem ganzen geschützt?
Probier es mal mit dieser UDF :
PHP Code:
Func _ProcessSuspend($process) $processid = ProcessExists($process) If $processid Then $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 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', 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 Return 1 Else SetError(1) Return 0 Endif Else SetError(2) Return 0 Endif EndFunc
|
|
|
02/24/2011, 21:24
|
#3
|
elite*gold: 0
Join Date: Jul 2010
Posts: 307
Received Thanks: 290
|
requireadmin hat ich doch drinne naja kanns ned gucken weil mein handy diese haesslichdn spoiler ned oeffnen will xD danke fuer die schnelle antwort werde es morgen testen
|
|
|
02/25/2011, 13:55
|
#4
|
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
|
Quote:
|
Eine ProcessTerminate UDF brauchst du nicht, es gibt schon ProcessClose("exe.exe").
|
TerminateProcess und ProcessClose ist nochmal ein Unterschied.
|
|
|
02/25/2011, 22:12
|
#5
|
elite*gold: 0
Join Date: Jul 2010
Posts: 307
Received Thanks: 290
|
Quote:
Originally Posted by derpo
Eine ProcessTerminate UDF brauchst du nicht, es gibt schon ProcessClose("exe.exe").
Mach am Anfang des Skripts #RequireAdmin
Vielleicht ist das Programm vor dem ganzen geschützt?
Probier es mal mit dieser UDF :
PHP Code:
Func _ProcessSuspend($process)
$processid = ProcessExists($process)
If $processid Then
$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
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', 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
Return 1
Else
SetError(1)
Return 0
Endif
Else
SetError(2)
Return 0
Endif
EndFunc
|
Das mit dem processclose hat super funktioniert aber das mit dem suspenden und resumen ist immernoch das selbe nix passiert ...
|
|
|
02/26/2011, 01:44
|
#6
|
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
|
Liegt daran, dass OpenProcess durch Aegis.exe geblockt wird (GetLastError() gibt ERROR_ACCESS_DENIED zurück).
|
|
|
02/26/2011, 12:55
|
#7
|
elite*gold: 0
Join Date: Feb 2010
Posts: 344
Received Thanks: 151
|
Vielleicht OpenProcess sofort nach dem Start von Aegis aufrufen
|
|
|
02/26/2011, 14:49
|
#8
|
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
|
Nein, dann sind die DLLs bereits in die Prozesse geladen.
|
|
|
Similar Threads
|
xBox 360 .. Fragen Fragen und nochmal Fragen !
01/05/2011 - Consoles - 12 Replies
^Tach elitepvpers....
Also ich hab ne xBox 360 (was glaube ich viele haben^^)
1.Frage : Wie findet ihr (die mit der xBox306) das neue Uptade
2.Frage : Was ist euer lieblingsspiel???
1.Antwort^^: Update sieht eig. ganz gut aus ...Trotzdem is das orginal am besten ^^
|
All times are GMT +1. The time now is 01:52.
|
|