Script läuft nur in Pulover, aber nicht als Exe

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

AcJoker
Posts: 17
Joined: 26 Apr 2016, 06:59

Script läuft nur in Pulover, aber nicht als Exe

24 May 2016, 05:07

Hallo,

ich bin noch recht neu in der AHK Gemeinde.
Komme aber denke ich bis jetzt ganz gut damit zurecht.
Ich verwende Pulover´s Macro Creator v5.0.0

Leider habe ich jetzt das Problem das ein Script zwar in Pulover läuft, aber nach dem compilieren mit AHK v1.1.23.05 geht ein Befehl nicht mehr.
Und zwar möchte ich eine Checkbox unchecken.
Da geht wie gesagt problemlos aus Pulover heraus, später als Exe aber dann nicht mehr.
Auch wenn ich die Exe als Admin ausführe klappt es nicht.

Erster Versuch war gan klar das Steuerelement direkt anzusprechen.
Danach habe ich versucht das Steuerelement erst auszulesen, dann zu selektieren und mittels Leertaste den Status zu ändern.
Beides klappt in Pulover.

Wo könnte mein Fehler liegen?

Ich hatte auch schon andere Fälle dieser Art, allerdings konnte ich diese immer irgendwie umgehen.

Beste Grüße
Joker
AcJoker
Posts: 17
Joined: 26 Apr 2016, 06:59

Re: Script läuft nur in Pulover, aber nicht als Exe

24 May 2016, 06:18

Code: Select all

Control, Uncheck, Button4, ahk_class MassLynx_ShutDownClass
Das ist übrigens der Code um den es geht.

Und dies ist mein Workaround der aber als Exe auch nicht funktioniert.

Code: Select all

WinActivate, ahk_class MassLynxUIWClass
Sleep, 333
ControlClick, MLynx32MLynxStatusBarWClass1, ahk_class MassLynxUIWClass,, Left, 1,  x1500 y12 NA
Sleep, 1000
ControlGet, Shutdown_Enabled, Checked, Button4, ahk_class MassLynx_ShutDownClass
If Shutdown_Enabled = 1
{
	ControlFocus, Button4, ahk_class MassLynx_ShutDownClass
	Send, {Space}
	Sleep, 1000
}
Kann es daran liegen das ich Pulover 5.0.0 verwende? Aktuell wäre ja 5.0.2
User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Script läuft nur in Pulover, aber nicht als Exe

24 May 2016, 06:35

Hast Du schon

Code: Select all

Gui, add,Button4, ... HwndHwndButton4
...
Control, Uncheck, %HwndButton4%, ahk_class MassLynx_ShutDownClass
probiert?
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick
AcJoker
Posts: 17
Joined: 26 Apr 2016, 06:59

Re: Script läuft nur in Pulover, aber nicht als Exe

24 May 2016, 06:45

Könntest Du mir erklären was der Befehl bezweckt?

Erzeugst Du mit "Gui" nur eine Testumgebung die für mich nicht relevant ist, oder was genau macht der Befehl?
User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Script läuft nur in Pulover, aber nicht als Exe

24 May 2016, 06:56

Irgendwo im AHK-Quelltext (der von Pulover erzeugt wurde) muss der Button4 das erste mal eingetragen (also erzeugt) worden sein.
Dort kann man die Hwnd-Variable erzeugen lassen indem man die zusaetzliche Option "HwndHwndButton4" in den bestehenden Befehl einfuegt.
Diese war nach meinen Erfahrungen wesentlich sicherer beim Ansprechen (unabhaengig von Pullover).
Fuer naeheres zu GUI, add verweise ich auf die Hilfe.
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick
AcJoker
Posts: 17
Joined: 26 Apr 2016, 06:59

Re: Script läuft nur in Pulover, aber nicht als Exe

24 May 2016, 07:34

Ach so, Du gehst davon aus das ich den Button in einer von mir erzeugten GUI betätigen möchte, richtig?

Der Button befindet sich aber in einer Software die ich mittels AHK "automatisieren" möchte.
Ich habe halt nur die Class und das Steuerelement ausgelesen. Mehr kann ich denke ich nicht machen, oder?

Komisch finde ich halt das es aus Pulover reibungslos läuft.
User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Script läuft nur in Pulover, aber nicht als Exe

24 May 2016, 08:06

Mit

Code: Select all

sleep 10000			; zeit um die Maus ueber  Button4 zu bringen
MouseGetPos, AusgabeX, AusgabeY, AusgabeFenster, HwndButton4, 2
MsgBox % HwndButton4
kannst Du neben vielen anderen Methoden das eindeutige Handle herausbekommen.
Maus ueber Button4 halten.
Und dann mal probieren ob das hier und die 3. Zeile oben in der Exe funktioniert.

Mir faellt dabei allerdings auf, dass Button und Uncheck nicht zusammenpassen.
Checkbox und Uncheck wuerden zusammenpassen.
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick
AcJoker
Posts: 17
Joined: 26 Apr 2016, 06:59

Re: Script läuft nur in Pulover, aber nicht als Exe

24 May 2016, 08:49

Dabei kommt dann 0x31096c raus.
Ist das möglich?
Soll ich dies dann anstelle von "Button4" verwenden?

Das Button und Uncheck nicht ganz passen ist mir auch schon aufgefallen.
Man kann nicht nur auf die Checkbox klicken sondern der Beschreibende Text scheint zusammen mit der Box einen Button zu ergeben.

Da scheint etwas komisch zu sein.
Aber warum läuft´s dann aus Pulover heraus problemlos? Das sollte doch dann auch dort schon probleme machen.
User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Script läuft nur in Pulover, aber nicht als Exe

24 May 2016, 09:05

Soll ich dies dann anstelle von "Button4" verwenden?
ja oder die Zeilen in den Quelltext einbinden.
Wichtig: bei jedem Start der Software, die Button4 enthaelt, aendert sich das HWND.
Ich befuerchte jedoch dass erst die zugehoerige Checkbox zum Erfolg fuehrt.
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick
User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Script läuft nur in Pulover, aber nicht als Exe

24 May 2016, 11:35

Teste doch mal ganz ohne Pulover ob

Code: Select all

ControlClick, Button4,Wintitle
- via Autohotkey-Skript
- und via compilliertes Skript
zum betaetigen der Checkbox fuert.
Was Du fuer Wintitle eingeben musst sagt Dir
Active Windows Info (dabei bei der AutoHotKey-Installation)
Wenn Ja verwende diesen Befehl in Deiner Pulover Umgebung.
Wenn Nein kannst Du vorher noch

Code: Select all

WinActivate,Wintitle
WinWaitActive,Wintitle		; wenn das Script hier haengen bleibt ist Wintitle falsch
ControlFocus, Button4,Wintitle
testen.
Wenn immer noch Nein dann wuerde ich mir gerne die HTML -Ausgabe des Macros
Zeige Control-Infos vom aktiven Fenster an.txt
von ZackZackOrdner
https://autohotkey.com/boards/viewtopic ... 10&t=15248
ansehen.
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick
AcJoker
Posts: 17
Joined: 26 Apr 2016, 06:59

Re: Script läuft nur in Pulover, aber nicht als Exe

24 May 2016, 16:05

Mein Problem mit ControlClick ist das ich nicht erkenne ob die Checkbox bereits gecheckt ist oder nicht.
Mit

Code: Select all

Control, Uncheck, Button4, ahk_class MassLynx_ShutDownClass
bin ich da halt auf der sicheren Seite.

Mir ist alternativ leider nur die Möglichkeit bekannt mit

Code: Select all

ControlGet, Shutdown_Enabled, Checked, Button4, ahk_class MassLynx_ShutDownClass
den Status zu erfassen.
Aber auch das geht leider nicht.

Auch mit

Code: Select all

ControlFocus, Button4,Wintitle
Und danach einer "Leertaste"

Code: Select all

Send, {Leertaste}
habe ich schon getestet. Geht leider auch nicht.
Könnte natürlich noch mit einem ControlClick testen.
Zumal hier immer noch das Problem der Erkennung besteht.

Ist wirklich zum verzweifeln.

Ich habe nun mal AHK und Pulover aktuallisiert, mal schauen ob das evtl. etwas bringt.
AcJoker
Posts: 17
Joined: 26 Apr 2016, 06:59

Re: Script läuft nur in Pulover, aber nicht als Exe

24 May 2016, 16:19

Die Funktion von ZackTackOrdner verstehe ich leider nicht.
Auch nicht wie ich an besagte *.txt kommen soll.
Sorry.
User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Script läuft nur in Pulover, aber nicht als Exe

24 May 2016, 18:46

Bei Deinem Befehl
ControlGet, Shutdown_Enabled, Checked, Button4, ahk_class MassLynx_ShutDownClass
fehlt ein Komma. D.h. versuchs mal mit

Code: Select all

ControlGet, Shutdown_Enabled, Checked,, Button4, ahk_class MassLynx_ShutDownClass
MsgBox % Shutdown_Enabled
Ausgabe: 1 fuer gehakt; 0 fuer ungehakt
oder falls der Wintitle ganz rechts falsch ist mit

Code: Select all

Sleep 10000		; Zeit um das Fenster mit der Maus zu aktivieren
ControlGet, Shutdown_Enabled, Checked,, Button4, A
MsgBox % Shutdown_Enabled
A steht fuer Aktives Window.
Dann versuch mal egal ob Du es nachher so machst

Code: Select all

Sleep 10000		; Zeit um das Fenster mit der Maus zu aktivieren
ControlFocus, Button4,A
ControlClick, Button4,A
bitte alle Aktionen auch mit nicht aktivem Pulover (also mit nacktem AHK) testen.
Statt Button4 kann auch die sichtbare Beschriftung des Buttons eingesetzt werden (Gross/Kleinschreibung beachten)
Uebrigens: beim Ueberpruefen der obigen Befehle musste ich feststellen das der Button4 in meinem Fall zu Button17 geworden ist
auch dies ist mit "Window Spy" im AHK-Tray-Menue verifizierbar.

PS. ZackZackOrdner ist ein Eigenstaendiges Skript von mir, welches das Handling mit Ordnern erleichtern soll, es hat ein Macro im Lieferumfang, welches genau die von mir gewuenschten Informationen ueber die Controls des aktiven Fensters liefert. Ist aber zugegebener weise mit Kanonen auf Spatzen geschossen.
Die im Download enthaltene Datei AktualisiereZackZackOrdner.ahk erledigt die Installation (neueste Beta auswaehlen) und fuehrt einen Erststart aus.
Nach dem Erststart waere
- Menue: Macro | Muster Dateien ... auszufuehren
- dann Menue: Macro | Starten ...
- dann Button Macro-Ordner und
- dann Doppelclick auf Zeige Control-Infos vom aktiven Fenster an.txt
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick
AcJoker
Posts: 17
Joined: 26 Apr 2016, 06:59

Re: Script läuft nur in Pulover, aber nicht als Exe

25 May 2016, 04:35

Gerdi wrote:Bei Deinem Befehl
ControlGet, Shutdown_Enabled, Checked, Button4, ahk_class MassLynx_ShutDownClass
fehlt ein Komma. D.h. versuchs mal mit

Code: Select all

ControlGet, Shutdown_Enabled, Checked,, Button4, ahk_class MassLynx_ShutDownClass
MsgBox % Shutdown_Enabled
DAS war´s!!! :dance:
Pulover´s Macro Creator v5.0.0 und v5.0.2 lassen beide das Komma weg.
Sowohl bei ControlGet als auch bei Control.

Möchtest Du das hier im Forum reporten oder soll ich das machen?
Es gibt doch dazu einen Thread hier, oder nicht?

Herzlichsten Dank für deine Unterstützung und Geduld. :bravo:
User avatar
jNizM
Posts: 3183
Joined: 30 Sep 2013, 01:33
Contact:

Re: Script läuft nur in Pulover, aber nicht als Exe

25 May 2016, 04:46

[AHK] v2.0.5 | [WIN] 11 Pro (Version 22H2) | [GitHub] Profile
User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Script läuft nur in Pulover, aber nicht als Exe

25 May 2016, 05:03

gerne,
berichte Du
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick
AcJoker
Posts: 17
Joined: 26 Apr 2016, 06:59

Re: Script läuft nur in Pulover, aber nicht als Exe

25 May 2016, 13:32

Es wird evtl. in der kommenden Woche eine neue Version von Pulover´s Macro Creator geben.

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 30 guests