Button identifizieren

gooovieh

Grünschnabel
Hallo,

ich möchte eine Fremdanwendung für den Benutzer unsichtbar steuern.

In dieser Anwendung befindet sich eine Liste mit 5 Buttons. Diese
Buttons haben alle dasselbe Handle. Als Klasse wird SVWORK angezeigt.
Es werden keine weiteren Kindfenster angezeigt.

Kann mir jemand sagen, wie man die einzelnen Buttons identifizeren
kann, um sie gezielt anzusprechen (bzw. drücken zu lassen). Wenn man
einfach die Maus darüber fahren läßt und dann ein Mausklick simuliert,
das funktioniert. Aber leider nicht, wenn die Anwendung nicht sichtbar
ist.

Deshalb sollte der Button identifizierbar sein.

Gruß
Thomas
 
Diese Buttons haben alle dasselbe Handle.
Das halte ich für ein Gerücht:)
Windows vergibt jedem Fenster (und ein Button ist nix anderes als ein Fenster) ein eindeutiges Handle (HWND = Handle of Window) sonst, könnte man ja eben diese Fenster nicht identifizieren.
Also grundlegen musst du über API-Funktionen zunächst mal das Handle des jeweiligen Buttons rausbekommen, dann kanst du eine Message an die Anwendung schicken und schon ist der Button gedrückt.
Hier gibts auch noch erklärungen Dazu:
http://www.tutorials.de/forum/showthread.php?threadid=20131&referrerid=3444

Gruss Homer
 
Hallo,

der Button läßt sich nicht eindeutig identifizieren, zumindest mit FindWindow und Enumchildwindows nicht. Wie aber kann Windows wissen, was es für ein Button war?
 
der Button läßt sich nicht eindeutig identifizieren, zumindest mit FindWindow
Du kannst auch einen Fensternamen angeben in der Funktion FindWindow dieser Name entspricht der Caption des Buttons, also bei einem OK-Button das "OK".

Auszug aus der MSDN:
HWND FindWindow(
LPCTSTR lpClassName, // pointer to class name
LPCTSTR lpWindowName // pointer to window name
);


Wie aber kann Windows wissen, was es für ein Button war?
Windows vergibt beim erstellen eines Fensters den HWND eines Fensters. Die API-Funktion wäre CreateWindow() damit wird in Windows glaube ich jedes Fenster (auch Buttons) erstellt und dies API-Funktion gibt dann das HWND zurück, somit weiß Windows, welches Fenster, bzw. welcher Button das ist.

Gruss Homer
 
Hallo,

bei den Buttons scheint es sich um eine Toolbar zu handeln. Deshalb ist die Caption-Eigenschaft auch die gleiche.

Aber man muß doch die Buttons innerhalb der Toolbar irgendwie identifizieren können.

MfG
Thomas
 

Neue Beiträge

Zurück