Seite 2 von 2
Re: Programm ohne Fenster schliessen ohne Blut zu verspritze
Verfasst: 29.10.2014 18:19
von 3dhubiflieger
..Na gut. Dann werd ich wohl ne Kombination aus ALT F4 und abschiessen als Prozedure basteln.
Zuerst testen obs mit ALT F4 beendet ist und danach abmurksen. Jetzt gibt es blos wieder das Problem das ich das mit ALT F4 nicht hinkriege...Hab mal kurz folgenden Code probiert...geht aber net !
Code: Alles auswählen
;Zsnesw im Vollbild starten !
Delay(5000) ;in der Zeit zu Zsnes switchen und warten
handle = GetForegroundWindow_() ;handle holen
;Jetzt testweise ALT F4 zum Handle senden geht net...warum ?
SendMessage_( handle, #WM_KEYDOWN,#VK_MENU,0) ;vk_menu ist doch ALT ?
SendMessage_( handle, #WM_KEYDOWN,#VK_F4,0)
Delay(500)
SendMessage_( handle, #WM_KEYUP,#VK_MENU,0)
SendMessage_( handle, #WM_KEYUP,#VK_F4,0)
Re: Programm ohne Fenster schliessen ohne Blut zu verspritze
Verfasst: 29.10.2014 20:02
von NicTheQuick
Unter Linux gibt es SIGTERM und SIGKILL, also Signale, die man an Prozesse schicken kann. SIGTERM bedeutet in dem Fall, dass der Prozess sich selbst beenden soll und SIGKILL bedeutet, dass der Prozess tatsächlich einfach abgeschossen/gekillt wird. Und das ist unabhängig von irgendwelchen Fenstern, die der Prozess offen haben kann. Unter Windows müsste es sowas doch auch geben, dass man bestimmte Signale an Prozesse schicken kann.
Siehe auch hier:
Win32 API analog of sending/catching SIGTERM
Re: Programm ohne Fenster schliessen ohne Blut zu verspritze
Verfasst: 29.10.2014 20:59
von 3dhubiflieger
Ich würde ja gerne Signale verschicken, aber damit hab ich noch weniger Ahnung. Im Moment versuch ich mich auch grad mit ALT F4....aber selbst das klappt net....

Re: Programm ohne Fenster schliessen ohne Blut zu verspritze
Verfasst: 29.10.2014 21:19
von Kiffi
<OT>
CodeCommander hat geschrieben:Wenn man keine Ahnung hat, einfach Fresse halten.
ob und wann wir unsere "Fresse" halten, hast Du nicht zu entscheiden. Achte auf Deinen Ton, CodeCommander!
3dhubiflieger selber hat in seinem Ursprungsposting ein zu schließendes Fenster erwähnt. Die darauf folgenden Antworten sind demzufolge nachvollziehbar und keineswegs so lächerlich, wie Du es gerne darstellen möchtest.
</OT>
Verfasst: 29.10.2014 21:38
von CodeCommander
~ DELETE ~
Re: Programm ohne Fenster schliessen ohne Blut zu verspritze
Verfasst: 01.11.2014 19:53
von 3dhubiflieger
So...ich hab jetzt erstmal das mit dem ALT F4 mir selbst zusammengebastelt. Auch wenn ich damit nicht 100 % ig alles abdecke.
Mit Sendmessage krieg ichs net hin. Ausserdem scheint hier das Delay ne Rolle zu spielen.
Sonst funktioniert das manchmal bei mir net richtig. Irgendwie hab ich auch sonst mit ALT F4 nix gefunden....Aber gut ...vielleicht kann das Codeschnipsel jemand gebrauchen.
Code: Alles auswählen
;Handle in den Vordergrund holen zum beenden
SendMessage_(GetForegroundWindow_(), #WM_SYSCOMMAND, #SC_HOTKEY, Handle)
If GetForegroundWindow_() = Handle
;ALT F4
keybd_event_(0,56, #KEYEVENTF_SCANCODE , 0)
Delay(100)
keybd_event_(0,62, #KEYEVENTF_SCANCODE , 0)
Delay(1000)
keybd_event_(0,56, #KEYEVENTF_KEYUP| #KEYEVENTF_SCANCODE , 0)
Delay(100)
keybd_event_(0,62, #KEYEVENTF_KEYUP| #KEYEVENTF_SCANCODE , 0)
EndIf