SendMessage und FindWindowEx

WorldRacer

Erfahrenes Mitglied
Hi leute.

Habe von SendMessage und Co gehört, und möchte das mal gern ausprobieren.
Habe ein Programm (No23 Recorder), dieses enthält mehrere TextFelder.
In eines dieser Textfelder möchte ich per SendMessage einen Text Senden, beispielsweise "blubb". Wenn ich das Bei notepad mache, funktioniert das, da es da ja nur ein Textfeld mit der Bezeichnung "Edit" gibt. Wie komme ich an ein Textfeld ran, wenn es mehrere gibt? Habe folgende Angaben von WinSpy erhalten:


Window
Handle: 0x00050496
Control ID: 328854
Text:
Class: TbsSkinEdit
Style: 0x540100C4
Rect: (277, 397)(510,418), 233x21
Thread ID: 0x00000EF0
Process ID: 0x00000EC0

Parent Window
Handle: 0x000D0474
Text: ID3Tags MP3
Class: TbsSkinGroupBox


Wie mache ich das mit diesen Angaben?

Gruß WR

// Edit: Als Kleiner nachtrag ein Screenshot vom Programm, um einen Überblick zu erhalten. Die Daten habe ich aus dem Textfeld neben dem Label "Künstler"
image84.jpg
 
Zuletzt bearbeitet:
Naja du musst erstmal ide ID des Fensters haben denke ich.

Versuchmal UISpy. Das liegt dem Windows SDk bei.

Und dann gehts weiter wie vorher auch.

Gruß
Anfänger
 
Ok, habe meinen Fehler gefunden:

Man muss immer das Handle über das ParentControl-Handle suchen. Ich hatte das so gemacht:

MainWindow-Handle
..-> TextBoxHandle

In wirklichkeit ist es aber:

MainWindow-Handle
..-> TabControl-Handle
.....-> TabSheet-Handle
......... -> GroupBox-Handle
.............-> TextBox-Handle

Das war alles. Einfach nur ein Brett vorm Kopf *g*

*** Übrigens: WInSpy reicht vollkommen aus für solche Zwecke: http://software.rkuster.com/articles/winspy.htm
Ausserdem ist UISpy im Aktuellen WinSDK nicht enthalten, da sucht man sich zum schänzchen wenn man das finden will.

Danke nochmal,

WorldRacer
 
Zurück