WinSpy etc.

Post a reply

Confirmation code
Enter the code exactly as it appears. All letters are case insensitive.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: WinSpy etc.

Re: WinSpy etc.

Post by gregster » 28 Feb 2018, 09:07

Oder Codierung gleich global setzen via https://autohotkey.com/docs/commands/FileEncoding.htm

Re: WinSpy etc.

Post by divanebaba » 28 Feb 2018, 08:12

Codierung anfügen, like below

Code: [Select all]GeSHi © Codebox Plus

Fileappend, %KleinkinderDiskriminierung%, C:\Lehrerempfehlung.txt, UTF-8

Re: WinSpy etc.

Post by Folllast » 28 Feb 2018, 08:08

Hallo,

wie kann ich verhindern, dass bei "FileAppend" umlaute in Kauderwelsch verwandelt werden?
und vielleicht sogar, dass sie bei "FileRead" korrekt eingelesen werden.

Re: WinSpy etc.

Post by Folllast » 27 Feb 2018, 07:44

ja, der MatchCode wurde gleich zu begin auf 2 gesetzt.

Re: WinSpy etc.

Post by BoBo » 26 Feb 2018, 11:26

Hat der bube eigentlich den SetTitleMatchMode versuchsweise mal auf 2 gesetzt? Nur mal so der form halber gefragt?
Obwohl der ACCV zeigt ja eh keinen fenstertitel an ..!?

Re: WinSpy etc.

Post by divanebaba » 26 Feb 2018, 10:32

Folllast wrote:... und er klickt trotzdem nicht auf den Button. ...
Ich habe gute Erfahrungen, mit Drücken von Knöpfen, mit folgendem Befehl gemacht. Ich nutze allerdings die ClassNN, statt die ahk_id.
Vielleicht funktioniert es auch mit der ahk_id.

Code: [Select all]GeSHi © Codebox Plus

Control, Check,,, ahk_id 0x21082C
gähn ...

Re: WinSpy etc.

Post by BoBo » 26 Feb 2018, 09:13

ich möchte verstehen, warum AHK die Button-ID nicht auslesen kann
Weil (d)eine application nicht nah genug zum windows/microsoft standard aufgebaut ist? Gibt genug davon Delphi/PowerBuilder/Java/... . Du bekommst hier den (standard)löffel zur glasnudelsuppe.
Suppe geht noch gut, glasnudeln nicht. Hätte dein programm mal besser auf buchstabennudeln gesetzt! Da kann aber der löffel nix dafür :lolno:

Re: WinSpy etc.

Post by Folllast » 26 Feb 2018, 07:45

Vielen Dank für die Hilfe. So eine Brücke habe ich mir auch gebaut. Aber das ist ja nur ein Pflaster auf eine offene Wunde, ich möchte verstehen, warum AHK die Button-ID nicht auslesen kann bzw. den nicht ansteuern kann bzw. wo genau der Fehler bei der Ursprünglichen Methode mit dem HWND ist.

Re: WinSpy etc.

Post by BoBo » 26 Feb 2018, 07:18

Wenn du hier nur alle 14 tage aufschlägst ist man/frau aus dem thema rgendwie raus, und sich jedes mal neu einzulesen ist meh ... :yawn:

Der Button ist markierbar (das nehm ich mal als "abfragbar"). Erstes ziel dürfte sein, den focus auf den button zu bekommen. Worst case (aus meiner erfahrung), das fenster starten, abwarten bis fertig geladen. Anschließend von dem (den focus besitzenden) Anfangscontrol mittels multiblen tabs auf den gesuchten button navigieren und (nach evtl gegencheck) ControlClick. Sieht zwar blöd aus (und bedingt ein offenes programmfenster) doch seis drum.

Re: WinSpy etc.

Post by Folllast » 26 Feb 2018, 06:56

Ich weiß leider nicht wie ich es lösen soll.

Re: WinSpy etc.

Post by BoBo » 16 Feb 2018, 07:41

Folllast wrote:
BoBo wrote:[Brainfart] Arbeitet der AHK befehl denn mit nem hex hwnd? [/Brainfart]



Um ein Steuerelement via HWND (Windows Handle) anzusteuern, lässt man diesen Parameter leer und übergibt ahk_id %SteuerelementHwnd% als Fenstertitel-Parameter (funktioniert auch bei versteckten Steuerelementen, selbst wenn DetectHiddenWindows ausgeschaltet ist). Das HWND eines Steuerelements wird üblicherweise per ControlGet Hwnd, MouseGetPos oder DllCall abgerufen.

ist leider nicht wirklich beschrieben welcher es sein soll. was muss es denn sein? Dual? Dezimal? Octal? :D
Nun, nach etwas recherche scheint hex kein problem für AHK windows befehle zu sein (?)

Re: WinSpy etc.

Post by Folllast » 16 Feb 2018, 07:31

BoBo wrote:[Brainfart] Arbeitet der AHK befehl denn mit nem hex hwnd? [/Brainfart]



Um ein Steuerelement via HWND (Windows Handle) anzusteuern, lässt man diesen Parameter leer und übergibt ahk_id %SteuerelementHwnd% als Fenstertitel-Parameter (funktioniert auch bei versteckten Steuerelementen, selbst wenn DetectHiddenWindows ausgeschaltet ist). Das HWND eines Steuerelements wird üblicherweise per ControlGet Hwnd, MouseGetPos oder DllCall abgerufen.

ist leider nicht wirklich beschrieben welcher es sein soll. was muss es denn sein? Dual? Dezimal? Octal? :D

Re: WinSpy etc.

Post by BoBo » 16 Feb 2018, 07:18

[Brainfart] Arbeitet der AHK befehl denn mit nem hex hwnd? [/Brainfart]

Re: WinSpy etc.

Post by Folllast » 16 Feb 2018, 04:27

BoBo wrote:

Code: [Select all]GeSHi © Codebox Plus

!1::
ControlGet, hwnd, Hwnd,,Drucken..., Ansicht - Warenausgang - WA18-000100
MsgBox % hwnd
ControlClick ,,ahk_id %hwnd%
Return


Verstehe ich das richtig - du ermittelst a) die fenster-ID bereits erfolgreich via ControlGet, doch b) der Click funzt nicht??
BTW, benutzt du SetTitleMatchMode um eventuele varianzen beim fenstertitel zu handeln?



ERSTMAL bleibt der TitleMatchMode so, da das Fenster immer so heist. wird ggf. Später nochmal geändert, aber da muss erst herausfinden wieviel Varianz ich zulassen kann, um trotzdem sicher nur dieses Fenster anzusprechen.

nichts von beidem Funktioniert. Ich ahb zwei Tests gemacht:
1.den Script geöffnet, die Tastenkombination gedückt, in die Variablen vom Script geschaut: die Variable "hwnd" war leer.

2.mit ACC die hwnd ausgelesen, manuell zugewiesen und dann den Script (natürlich ohne ControlGet) gestartet, und er klickt trotzdem nicht auf den Button.

Problem könnte sein, dass der Button irgendwie nicht dem Fenster zugeordnet ist. Hier ein Screenshot vom ACC mit markierten Button.
drucken.JPG
drucken.JPG (40.63 KiB) Viewed 419 times

Re: WinSpy etc.

Post by BoBo » 16 Feb 2018, 03:44

Code: [Select all]GeSHi © Codebox Plus

!1::
ControlGet, hwnd, Hwnd,,Drucken..., Ansicht - Warenausgang - WA18-000100
MsgBox % hwnd
ControlClick ,,ahk_id %hwnd%
Return


Verstehe ich das richtig - du ermittelst a) die fenster-ID bereits erfolgreich via ControlGet, doch b) der Click funzt nicht??
BTW, benutzt du SetTitleMatchMode um eventuele varianzen beim fenstertitel zu handeln?

Re: WinSpy etc.

Post by Folllast » 16 Feb 2018, 02:54

also ich hab jetzt mit ACC Viewer die ID herausgefunden und Festgestellt, dass sie sich bei jedem Fenster anders ist. Ich muss also irgendwie aus der Bezeichnung die ID Herausfinden (1) und dann den Klick-Befehl auslösen (2)

folgenden Script habe ich jetzzt, den ich im Fenster mit einer Tastenkombination starte. Dieser funktioniert aber nicht... weder die Button-ID wird in der variable gespeichert noch wird der klick-befehl gesendet, wenn ich die ID manuell eintrage

Code: [Select all]GeSHi © Codebox Plus

!1::
ControlGet, hwnd, Hwnd,,Drucken..., Ansicht - Warenausgang - WA18-000100
ControlClick ,,ahk_id %hwnd%,

Die Schaltfläche heisst "Drucken..." und das Fenster heisst "Ansicht - Warenausgang - WA18-000100", allerdings ist dieses Feld leer, wenn ich diese Schaltfläche markiere.

Re: WinSpy etc.

Post by BoBo » 15 Feb 2018, 10:29

Andere tools machen in der regel nur sinn um zusätzliche/andere infos abzufragen (zB bei namensgleichheiten, um weitere unterscheidungsmerkmale zu erhalten).
Wenn Winspy das so ausspuckt ändert ein anderes tool daran erstmal nichts. ACC Viewer und ControlSpy wären mögliche alternativen.

WinSpy etc.

Post by Folllast » 15 Feb 2018, 09:28

Hallo,

hat noch jemand Versionen von "meinfensterguck" oder ähnlich , mit dem ich eine Button-ID auslesen kann. Windowspy liefert keine geeigneten Ergebnisse, egal welchen Button ich überfahre, es steht "HwndWrapper" im bereicht "Control under mouse position".

Vielen Dank.

Top