"Pausieren" eines anderen Programms
-
Hallo,
ich möchte ein anderes Programm "pausieren".
D.h., dass das Programm in dem Moment keine Nachrichten von Windows gekommen oder einfach irgendwo feststecken soll. Da ich nicht weiß, ob das überhaupt möglich ist, frage ich einfach mal hier nach.
Das Programm ist bereits am Laufen.
Gibt es dafür bestimmte API Funktionen mit dem man das realisieren könnte oder ist das auf normalem Wegen nicht möglich?MfG
plusman
-
-
Du könntest es mal mit SuspendThread / ResumeThread versuchen

-
miller_m schrieb:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/sleep.asp
Ich denke, du hast plusman nicht ganz verstanden - zumindest wüsste ich nicht, wie man mit Sleep ein anderes Programm schlafen legen sollte

-
flenders schrieb:
miller_m schrieb:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/sleep.asp
Ich denke, du hast plusman nicht ganz verstanden - zumindest wüsste ich nicht, wie man mit Sleep ein anderes Programm schlafen legen sollte

sorry. du hast recht. kleines böses wort.
-
Ich weiss jetzt nicht auf Anhieb wie genau man das realisiert, aber es gibt doch ne möglichkeit mit der Funktion getWindowHandle oder so ähnlich ein handle auf ein anderes Programm zu erhalten um zum Beispiel deren Speicher zu manipulieren (Cheating Programme machen ja sowas). Wenn man das Handle erst mal hat, sollte es doch möglich sein, auch Nachrichten zu unterdrücken...
MSDN: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/findwindow.asp
Das sind nur ein paar Gendankengänge meinerseites. Die Funktion kenne ich aus meiner VB Zeit....
rya.
Scorcher24
-
Also du kannst zuerst alle ThreadIDs eines des Prozesseds hohlen (z.b. mit CreateToolhelp32Snapshot, Thread32First, Thread32Next). Danach dir ein Handle zu diesen Threads mit OpenThread hohlen (mit THREAD_SUSPEND_RESUME-Recht) und mit SuspendThread die Threads anhalten.