Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Controls innerhalb Controls identifizieren

 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe!
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Milchmann



Anmeldedatum: 10.12.2007
Beiträge: 76

BeitragVerfasst am: So Jul 27, 2008 7:36 pm    Titel: Controls innerhalb Controls identifizieren Antworten mit Zitat

Hallo,

ich habe bei mir auf Arbeit ein Programm ( Remedy User) welches mich bei der Identifizierung der Controls in den Wahnsinn treibt Twisted Evil .
Wenn ich mit Win Spy oder mit AHK Window Info 1.7 mir die Controls in dem Programm anzeigen lasse, bekomme ich immer nur Klassen wie "
AfxControlBar429<; AfxWnd42106; #327709 " angezeigt. In diesen sind aber noch andere Controls enthalten, wie z. Bsp.: RichEdit20A1 etc. Dieses Control z.Bsp RichEdit20A1 kann ich nur durch anklicken eines Buttons öffnen. mit TAB etc. komme ich nicht auf den Button um in das Edit Feld zu kommen.
Gehe ich mit der Maus auf z bsp. diesen Button ( um das Editfeld zu erreichen) wird mir dieser nicht im Spy angezeigt.
Mit Winspektor wird mir als wm_command befehl beim drücken des edit contols dann die Controllklasse : 0x0836080e angezeigt. Diese wieder schaffe ich über Befehle nicht so anzusteuern, das sich mir das Editfeld öffnet und ich drin schreiben kann.

Gibt es ein Skript, welches mir alle in einem Control enthaltenen weiteren Controls mit Name und Classen anzeigt?

PS: TAB's kann ich in dem Programm problemlos ansteuern und auch ändern.
Ich schaffe es auch ein Control wo weitere Felder und Controls enthalten sind abzufragen und die Größe zu ändern.
Code:

ControlGet, Fenster, Hwnd,, AfxFrameOrView421,  Remedy User - ; Fragt die ID des aktuellen Auftrages ab, der im Suchfeld gefunden wurde
Winwait, Remedy User -
IfWinNotActive,
WinActivate,
WinWaitActive,
ControlFocus,  AfxFrameOrView421, ahk_id %Fenster% ; Focussiert auf das Control
sleep, 500
ControlMove, , 6, 238, 1208 , 704, ahk_id %Fenster% ; setzt die Größe des Controlls



Hat da jemand eine Idee?


Danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
BoBo²
Gast





BeitragVerfasst am: So Jul 27, 2008 7:47 pm    Titel: Antworten mit Zitat

Beim Button-Control schon mal versucht die Buttonbeschriftung ("&Open") anstatt des Controltyps anzusteuern?
Nach oben
Milchmann



Anmeldedatum: 10.12.2007
Beiträge: 76

BeitragVerfasst am: So Jul 27, 2008 8:01 pm    Titel: Antworten mit Zitat

Gute Idee,

aber leider gibt es in dem jeweiligen Control mehrere Buttons mit RichEdit20A1 Feldern die laut Aufschrift ... heißen. Leider kann ich diese ja nicht identifizieren. und damit die Buttonbeschriftung auslesen.


Bert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
BoBo@
Gast





BeitragVerfasst am: So Jul 27, 2008 8:46 pm    Titel: Antworten mit Zitat

Code:
RichEdit20A1
RichEdit20A2
RichEdit20A3
und die sind nicht irgendwie durchnummeriert?
Nach oben
Zer00



Anmeldedatum: 01.06.2006
Beiträge: 187

BeitragVerfasst am: Mo Jul 28, 2008 6:12 am    Titel: Antworten mit Zitat

Ein Script für Cotrols wurde hier schonmal gepostet. Leider habe ich vergessen von Wem...aber es könnte Dir helfen.

Code:
#Persistent
SetTimer, Check, 100

Check:
MouseGetPos,,,id, control
WinGetTitle, title, ahk_id %id%
MouseGetPos,,,hwnd, hm, 2
ToolTip,
(
"%control%" ist die ClassNN des Controls.
"%title%" ist die AHK Class des Fensters.
)

_________________
o
L_
O L
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Milchmann



Anmeldedatum: 10.12.2007
Beiträge: 76

BeitragVerfasst am: Mo Jul 28, 2008 5:36 pm    Titel: Antworten mit Zitat

Hallo,

leider komme ich erst jetzt zum Antworten.


@Bobo: Ich habe mir heute mal über

Code:

Winget, allecontrolls, ControlList, ahk_id %id%

alle Controlls auflisten lassen, die in AfxFrameOrView421 ( Das ist das Hauptcontroll )drin sind.
Dabei war nicht ein einziges RichEdit2 Feld. Aber ich kann ja in dieses reinklicken und dann sehe ich dieses. Meines Erachtens nach waren diese Edit - Felder nicht durchnumeriert. Nützt mir aber auch nichts, da ich den Inhalt des Editfeldes benötige und anpassen will.

@Zer00

Danke, ich habe damit auch schon mein Glück versucht und habe mir über oben angezeigten Code alle Controlls anzeigen lassen.
Mir würde es ja schon helfen , wenn ich den Button zum öffnen des Editfeldes.

Hat jemand noch andere Vorschläge ?

Danke Bert


G
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Zer00



Anmeldedatum: 01.06.2006
Beiträge: 187

BeitragVerfasst am: Di Jul 29, 2008 6:38 am    Titel: Antworten mit Zitat

Milchmann hat Folgendes geschrieben:

Mir würde es ja schon helfen , wenn ich den Button zum öffnen des Editfeldes.


Ok, ich bin mir gerade unschlüssig...und auch ein ganz bisschen verwirrt.
Hast Du versucht die Maus an einer bestimmten Koordinate einfach einen Klick ausführen zu lassen?

a) Gucken ob das Fenster aktiv ist.
b) Mit WinSpy die Koordinaten im Fenster bestimmen.
c) Mit Mausklick den Klick durchführen.
_________________
o
L_
O L
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Milchmann



Anmeldedatum: 10.12.2007
Beiträge: 76

BeitragVerfasst am: Do Jul 31, 2008 6:59 am    Titel: Antworten mit Zitat

Hallo,

danke für die Hilfe.
Mittlerweile habe ich festgestellt, das der Inhalt der einzelnen Fenster von der Serveranwendung bereitgestellt wird.
Daduch kann ich auch nicht die Fenster idendifizieren.

Bert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe! Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de