Programm beenden, blutiger Anfänger

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Programm beenden, blutiger Anfänger

Post by Boss55 » 15 Oct 2021, 11:35

Hallo Forum !

Wie schon aus dem Betreff ersichtlich, mache ich die ersten zaghaften Versuche mit AHK, meine Frage:

Mit welchem Befehl kann ich ein ganz bestimmtes Progarmm beenden und wie lautet die korrekte Syntax dazu ?

Wäre schön, wenn mir jemand helfen könnte.

bye
Last edited by gregster on 15 Oct 2021, 11:37, edited 1 time in total.
Reason: Topic moved from 'Ask For Help'. Falsche Sprache...

KHA
Posts: 401
Joined: 21 Aug 2018, 11:11

Re: Programm beenden, blutiger Anfänger

Post by KHA » 15 Oct 2021, 13:52

Hi,

Um ein bestimmtes Fenster zu schließen,
z.B Taschenrechner
WinClose, Rechner

Um schließen zu erzwingen:
auch hier an Beispiel von Taschenrechner
WinKill, Rechner

Den FensterTitel (Rechner) kannst du mit Window Spy ermitteln, die mit AHK mit installiert wird

Ahk_fan
Posts: 237
Joined: 31 Aug 2018, 14:34
Contact:

Re: Programm beenden, blutiger Anfänger

Post by Ahk_fan » 15 Oct 2021, 14:03

edit...hab zu lang zum tippen gebraucht....

Hallo @Boss55

kommt drauf an! Tolle Antwort, gell? :roll:

1. Alt+F4 --> send, {ALT DOWN}{F4}{ALT UP}
2. Klickreihenfolge mit der Maus simulieren MouseClick
3. Tastenreihenfolge je nach Programm mit Send simulieren --> send, {ALT} --> send, d --> send, b
4. Befehl WinKil, ...l
5. Befehl WinClose, ...
6. Befehl Process, Close...

Je nachdem was die Anforderung ist. Z.B sollen irgendwelche geöffnete Dokumente gespeichert werden?, Soll ein evtl aufkommender "Wirklich beenden" Dialog abgefangen werden? Das muss halt beachtete werden

ein einfaches Script für den Notepad-Editor (je nachdem ob mit geändertem Inhalt ist der Fenstername mit einem * versehen:

Code: Select all

#SingleInstance
#WinActivateForce
;Fenstername = So heißt mein Programmfenster 
Fenstername := "Unbenannt - Editor"
Abfragefenster := "Editor"

If WinExist(Fenstername)
   WinClose, %Fenstername%
If WinExist("*" Fenstername)
{
	MsgBox, hier
	WinActivate, *%Fenstername%
	WinWaitActive, *%Fenstername%
         Send, {ALT}
	 sleep, 100
	 send, d
	 Sleep, 100
	 Send, b
	 
     WinWaitActive, %Abfragefenster%
     send, {Right}
     sleep, 100
     send {Enter}
}
ExitApp
regards,
AHK_fan :)
https://hr-anwendungen.de

Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Re: Programm beenden, blutiger Anfänger

Post by Boss55 » 16 Oct 2021, 10:18

Hallo ahk Fan !

Erst mal vielen Dank für deine ausführliche Antwort . Sorry, ich hätte deutlich mehr Details in meiner Frage angeben sollen.

Das Programm wird nicht im Fenstermodus ausgeführt sondern versteckt sich in der Taskleiste bei den ausgeblendeten Objekten.

Aber ganz gleich welchen Befehl ich versuche, mein Favorit war
Process Close, das Ding lässt sich einfach nicht abschiessen.
Hintergrund ist folgender:
Das Tool (Taskbar Eliminator) blendet die Taskleiste mit dem Hotkey ALT+T aus und ein. Meine Idee ist, dies aus einer Batch heraus zu tun. Die Übermuttlung des Hotkeys mittels dem Befehl send funktioniert grundsätzlich, jedoch nur beim ersten Mal(ausblenden), bei der erneuten Übermittlung des Hotkeys(einblenden), gibt das Tool (nicht AHK), die Meldung zurück (frei übersetzt) das bereits eine ältere Instanz läuft und man in der (nicht vorhandenen) Hilfedatei unter #single instance nachsehen sollte (wie denn bitte?). Ist ein Bug, der auch oft auftritt, wenn man das Tool ohne AHK nutzt

Mein Plan also, zur Umgehung von Bug und Meldung das Tool vor dem sende des Hotkeys zu beenden, der Hotkey startet es dann erneut, aber daran scheitere ich gerade grandios.

Das Ganze sind für mich als alten Zausel von 66 Jahren ohnehin böhmische Dörfer. :mrgreen:

Hier noch ein paar Info´s
Programmname Taskbar Eliminator
Ausführende Dateu Taskbar Eliminator.exe
Taskmanager Name Remove The Windows Taskbar
Betriebssystem Windows 10 Pro 64bit

Vielleicht ist das Ganze wegen der Zickigkeit des Tool´s nicht möglich, vielleicht bin ich auch nur zu doof dafür.

Wäre super, wenn du dich nochmals damit befassen könntest.

Sxhönes Wocheende

bye

KHA
Posts: 401
Joined: 21 Aug 2018, 11:11

Re: Programm beenden, blutiger Anfänger

Post by KHA » 16 Oct 2021, 14:00

Führe folgende Script aus:

Code: Select all

Process, Close, Taskbar Eliminator.exe
MsgBox, % ErrorLevel
Was wird angezeigt?

Wenn Sie nur die Taskleiste Ein-, und Ausblenden möchten, gibt es dafür ein AHK-Lösung von Teadrinker, dass bei mir einwandfrei funktioniert.

Code: Select all

#NoEnv
#Singleinstance Force
;#NoTrayIcon
Setworkingdir,% A_ScriptDir



^t:: HideShowTaskbar(hide := !hide) ;Strg+T blendet die Taskleiste ein und aus
   
HideShowTaskbar(action) {
   static ABM_SETSTATE := 0xA, ABS_AUTOHIDE := 0x1, ABS_ALWAYSONTOP := 0x2
   VarSetCapacity(APPBARDATA, size := 2*A_PtrSize + 2*4 + 16 + A_PtrSize, 0)
   NumPut(size, APPBARDATA), NumPut(WinExist("ahk_class Shell_TrayWnd"), APPBARDATA, A_PtrSize)
   NumPut(action ? ABS_AUTOHIDE : ABS_ALWAYSONTOP, APPBARDATA, size - A_PtrSize)
   DllCall("Shell32\SHAppBarMessage", UInt, ABM_SETSTATE, Ptr, &APPBARDATA)
}

Ahk_fan
Posts: 237
Joined: 31 Aug 2018, 14:34
Contact:

Re: Programm beenden, blutiger Anfänger

Post by Ahk_fan » 16 Oct 2021, 15:03

also wenn es wirklich nur um die Taskbar geht, würde ich die Version von @KHA nehmen, da kann man auf das komische Progamm "Taskbar Eliminator" verzichten, das AHK_Script macht das genauso und man hat Einfluß auf den Code...man müsste nur am Anfang evtl #Persistent einfügen.

ansonsten:
- mal schau ob der Dateiname/Programmname wirklich mit Leerzeichen geschrieben wird. Am Besten über den Task-Manager

Nicht aufgeben! Mit 66 Jahren da fängt das (Autohotkey-)Leben an! Und Respekt, das Sie das jetzt angehen.
regards,
AHK_fan :)
https://hr-anwendungen.de

just me
Posts: 9423
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Programm beenden, blutiger Anfänger

Post by just me » 17 Oct 2021, 06:41

Moin,
Boss55 wrote:... gibt das Tool (nicht AHK), die Meldung zurück (frei übersetzt) das bereits eine ältere Instanz läuft und man in der (nicht vorhandenen) Hilfedatei unter #single instance nachsehen sollte (wie denn bitte?).
Das 'Tool' ist höchtstwahrscheinlich ein kompiliertes AHK-Skript. Wenn Du den eingebetteten Sourcecode nicht extrahieren kannst, solltest Du besser auf eine Lösung zurückgreifen, deren Code Du kennst, wie z.B. das von @KHA gezeigte Skript.

Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Re: Programm beenden, blutiger Anfänger

Post by Boss55 » 17 Oct 2021, 11:29

N´abend !

Nochmals vielen Dank für eure Antworten. Nutze jetzt das Script von AHK, funktioniert wie gewünscht und lässt sich easy von einer Batch aus aufrufen.

Bin schon etwas geflasht, was man mit AHK alles machen kann, vor allem wenn man in so einem coolen Forum diese Unterstützung erhält. :thumbup: :thumbup: :thumbup:

Bis demnäxt zu meinem nächsten Post, der bestimmt nicht lange auf sich warten lässt. :mrgreen: :mrgreen: :mrgreen:

bye

Post Reply

Return to “Ich brauche Hilfe”