Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 15:01

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Ein externes Programm auf suspend warten und wieder resumen

Discussion on Ein externes Programm auf suspend warten und wieder resumen within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
golle12's Avatar
 
elite*gold: 29
Join Date: Aug 2011
Posts: 640
Received Thanks: 493
Ein externes Programm auf suspend warten und wieder resumen

Ein wunderschönen guten Tag

es tut mir Leid das ich so viele Threads auf machen weil ich nicht weiß wie ich mein Probem definieren soll . Also was ich möchte ein Beispiel Script :
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_sucessThen
                        
Return 1
                
Else
                        
SetError(1)
                        Return 
0
                
EndIf
        Else
                
SetError(2)
                Return 
0
        
EndIf
EndFunc   ;==>_ProcessSuspend

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_sucessThen
                        
Return 1
                
Else
                        
SetError(1)
                        Return 
0
                
EndIf
        Else
                
SetError(2)
                Return 
0
        
EndIf
    
EndFunc   ;==>_ProcessResume

    $Process 
"notepad.exe"
    
While 1
            
If _ProcessSuspend($ProcessThen
                MsgBox
(0,"nein nein nein","so geht das nicht")
                
_ProcessResume($Process)
        EndIf
    
WEnd 
Wie wir hier sehen können soll das Programm auf Notepad aufpassen aber statt das es wartet bis er suspendet wird suspendet und resumt das Programm permanet den Prozess aber ich möchte dass, das Programm warten soll bis der Prozess gefreezt wurde und dann soll er den Prozess entfreezen(resumen) Hoffe ihr könnt mir helfen
golle12 is offline  
Old 05/01/2013, 19:29   #2
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
warum willst du das überhaupt machen ? kannst du das nicht iwie in einem script lösen ?
YatoDev is offline  
Old 05/01/2013, 20:48   #3
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
Code:
 While 1 
            If _ProcessSuspend($Process) Then 
                MsgBox(0,"nein nein nein","so geht das nicht") 
                _ProcessResume($Process) 
        EndIf 
    WEnd
_ProcessSuspend gibt nicht True oder False zurück wenn der Prozess bereits Suspendet ist sondern gibt True zurück wenn er erfolgreich Suspendet wurde (False wenn nicht) d.h., dass die If Abfrage immer Wahr ist und somit der Prozess immer Resumed wird.
Croco™ is offline  
Old 05/01/2013, 20:51   #4
 
golle12's Avatar
 
elite*gold: 29
Join Date: Aug 2011
Posts: 640
Received Thanks: 493
Nein nicht ich möchte ein League of Legends Bot machen welche aus 3 Komponenten besteht aus dem Bot selber einem Prozesssucher und einem Prozessresumer(obrige Beispiel) denn im Bot sind Passwörter und Benutzername gespeichert und diese sollen nicht in andere Programme eingegeben werden(z.B. in Notepad) falls jemand meinen prozessucher freezen möchte soll mein Prozessresumer diesen prozesssucher jedesmal resumen wenn jemand versuchen sollte diesen zu freezen .Hoffe ich konnte es verständlich rüberbringen. Doch hab ich was herausgefunden die Problematik ist dass, das Programm permanent den Prozess resumt was sich die CPU Auslastung ansteigen lässt. Hoffe du kannst mir helfen

Quote:
Originally Posted by Croco™ View Post
Code:
 While 1 
            If _ProcessSuspend($Process) Then 
                MsgBox(0,"nein nein nein","so geht das nicht") 
                _ProcessResume($Process) 
        EndIf 
    WEnd
_ProcessSuspend gibt nicht True oder False zurück wenn der Prozess bereits Suspendet ist sondern gibt True zurück wenn er erfolgreich Suspendet wurde (False wenn nicht) d.h., dass die If Abfrage immer Wahr ist und somit der Prozess immer Resumed wird.
Also eigentlich gibt es doch _ProcessSuspend($Process) es ist Deklariert worden (siehe Script) und das was du sagt versteh ich nicht so ganz

Edit: Achso jetzt hab ich es verstanden mehrmals lesen hilft
kannst du mir ein Beispiel geben da ich nicht so ganz weiß wie ich das machen soll
golle12 is offline  
Old 05/01/2013, 21:23   #5
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
Quote:
Originally Posted by golle12 View Post
denn im Bot sind Passwörter und Benutzername gespeichert und diese sollen nicht in andere Programme eingegeben werden(z.B. in Notepad) falls jemand meinen prozessucher freezen möchte soll mein Prozessresumer diesen prozesssucher jedesmal resumen wenn jemand versuchen sollte diesen zu freezen .
wat?

im bot ist "dein" name+pw gespeichert und die werden im spiel eingegeben
(wohl mit Send() ) und du willst nicht, dass jmd einfach notepad öffnet und so dein pw sieht?

richtig verstanden?
omer36 is offline  
Old 05/01/2013, 21:35   #6
 
golle12's Avatar
 
elite*gold: 29
Join Date: Aug 2011
Posts: 640
Received Thanks: 493
Quote:
Originally Posted by omer36 View Post
wat?

im bot ist "dein" name+pw gespeichert und die werden im spiel eingegeben
(wohl mit Send() ) und du willst nicht, dass jmd einfach notepad öffnet und so dein pw sieht?

richtig verstanden?
Ja und nein sie sind in Ini Dateien vertsteckt welche Verschlüsselt sind u.s.w aber es ist richtig.
Pw und name sind nicht nur von mir diese werden vom Benutzer in eine Inputbox eingegeben und werden als Ini gespeichert
Ich weiß schon das man die Ini Dateien entschlüsseln kann und dann auslesen kann aber der Schutz ist ja auch nur für die Random Kindys
golle12 is offline  
Old 05/01/2013, 21:39   #7
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
du kannst soviel verschlüsseln/suspenden wie du willst, solange du deine programme in autoit schreibst, ist alles lesbar...


dein problem kannst du ja auch anders lösen..

überprüf einfach ob das spiel im vordergrund ist.
wenn nicht - nichts schreiben..
omer36 is offline  
Old 05/01/2013, 21:59   #8
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
ControlSend bringt abhilfe.
Damit Schreibt dein Programm nur in ein bestimmtest Fenster und niemand kann somit Notepad einfach öffnen.
Croco™ is offline  
Old 05/01/2013, 23:08   #9
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Und was wenn jemand das script suspended das das andere davor schuetzt suspended zu werden ?
YatoDev is offline  
Thanks
1 User
Old 05/02/2013, 18:42   #10
 
golle12's Avatar
 
elite*gold: 29
Join Date: Aug 2011
Posts: 640
Received Thanks: 493
Quote:
Originally Posted by »FlutterShy™ View Post
Und was wenn jemand das script suspended das das andere davor schuetzt suspended zu werden ?
Tja das verrate ich nicht denn dass hab ich durchdacht sollte eins nicht ordentlich funktionieren wird alles geschlossen
golle12 is offline  
Old 05/02/2013, 18:53   #11
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
kannst auch nen 2. antisuspender einbauen, der das antisuspender programm vorm suspenden schützt
butter123 is offline  
Old 05/02/2013, 19:35   #12
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by butter123 View Post
kannst auch nen 2. antisuspender einbauen, der das antisuspender programm vorm suspenden schützt
Dieses musst du aber auch bei start vom hauptprogramm suspenden lassen damit das programm erst resumed wird wenn das andere programm das das andere programm vor dem suspenden schuetzt suspendet wurde das du dann mit einem anderen programm resumed das das programm das resumed wurde vor dem suspenden schuetzt !
YatoDev is offline  
Old 05/02/2013, 19:58   #13
 
golle12's Avatar
 
elite*gold: 29
Join Date: Aug 2011
Posts: 640
Received Thanks: 493
Quote:
Originally Posted by »FlutterShy™ View Post
Dieses musst du aber auch bei start vom hauptproggramm suspenden lassen damit das programm erst resumed wird wenn das andere programm das das andere programm vor dem suspenden schuetzt suspendet wurde das du dann mit einem anderen programm resumed das das programm das resumed wurde vor dem suspenden schuetzt !
Und wie geht das denn hier habe ich mal ein Script gemacht was leider immernoch nicht funktioniert
PHP Code:
Global  $iPID,$Suspend False
Global Const $PROCESS_SUSPEND_RESUME 0x0800
Global Const $SYNCHRONIZE 0x00100000
Global Const $PROCESS_TERMINATE 0x0001
$iPID 
"notepad.exe"
$Suspend _SuspendProcess($iPID)
While 
1
    
If _SuspendProcess($iPIDThen
        $Suspend 
True
    
If $Suspend True Then
        _ResumeProcess
($iPID)
    ElseIf 
$Suspend False Then
        Sleep
(500)
    EndIf
    EndIf
WEnd

Func _SuspendProcess 
($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 
Hoffe du kannst mir helfen
golle12 is offline  
Old 05/02/2013, 20:01   #14
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by golle12 View Post
Und wi feht das denn hier habe ich mal ein Script gemacht was leider immernoch nicht funktioniert

Hoffe du kannst mir helfen
ehm naja der post da oben war nicht ernst gemeint aber ich kann dir auch so sagen das dir das nichts bringen wird soetwas zu machen .

Es gab trotzdem muss ich mal dazu sagen ein anderes command glaube ich um zu checken ob ein programm "freezed ist"
YatoDev is offline  
Old 05/02/2013, 20:03   #15
 
golle12's Avatar
 
elite*gold: 29
Join Date: Aug 2011
Posts: 640
Received Thanks: 493
Quote:
Originally Posted by »FlutterShy™ View Post
ehm naja der post da oben war nicht ernst gemeint aber ich kann dir auch so sagen das dir das nichts bringen wird soetwas zu machen .

Es gab trotzdem muss ich mal dazu sagen ein anderes command glaube ich um zu checken ob ein programm "freezed ist"
Meinst du das mit der" isWindHung" oder wie das auch immer heißt
golle12 is offline  
Reply


Similar Threads Similar Threads
Externes Programm starten per Variable
10/01/2012 - C/C++ - 6 Replies
Hallo Leute ; Ich wollte mal fragen ob es in C++ eine möglichkeit gibt um z.b. über cin einen string abzuspeichern und diesen dann an an eine funktion zu übergeben die das eingegebene (z.b. notepad.exe ) ausführt? Hier mal ein code beispiel wie ich mir das ganze vorstelle ( ohne includes usw): string eingabe; cout << "Geben sie den Namen des Programmes << endl; cout << " welches sie starten möchten ein " << endl, cin >> eingabe ; // Ich kenne bis jetzt nur die Anweisung System("Name...
Externes Teamspeak 3 aufnahme Programm
02/13/2012 - Technical Support - 2 Replies
Hallo Leute! Ich suche momentan ein Programm, womit man den Ganzen Ton , den man hört ( Ts Game etc...) aufnehmen kann. Ich habe natürlich gegoogelt und das programm No23 Recorder ausprobiert! Vielen Dank für eure Hilfe!
[Visual Basic 2010]Externes Programm als Admin Ausführen
06/27/2011 - .NET Languages - 3 Replies
Hey, wie der Titel schon Sagt: Ich suche einen Code oder Hilfe wie ich ein Externes Programm wie z.B. 'Warrock' als Admin ausführe, wenn man auf den Button klickt. P.S: Ihr solltet nicht kommen mit: Rechtsklick->Als Admin ausführen
Externes Programm über WoW-Addon öffnen? [LUA]
01/14/2011 - General Coding - 4 Replies
Ist es möglich mit Lua ein WoW-Addon zu schreiben, welches eine lokale .exe-Datei außerhalb des World of Warcraf-Ordners aufrufen (also öffnen) kann? Und wenn ja, wie? lg Deividas



All times are GMT +1. The time now is 15:03.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.