Entwickler-Ecke
Windows API - postmessage problem :)
D3lta - Do 13.08.09 23:24
Titel: postmessage problem :)
hey leute, ich hab ein kleines problem mit postmessage.
ich sende damit tasten an eine andere anwendung. wie kann ich da bei 2 gleichen hwnds (fenstertiteln) unterscheiden an welches gepostet werden soll? =)
danke :)
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Do 13.08.2009 um 23:31
D3lta - Fr 14.08.09 15:23
da das ja grad nicht mehr so aktuell ist und ich wirklich dringend eine lösung brauche
*push ich das jetz hier mal*
wie wird das eig. gehandhabt? benutzt postmessage dann die erste anwendung mit dem hwnd oder wechselt sich das ab und naja, wie kann ich das zielgerichtet dann drauf ansetzen ;)
Gausi - Fr 14.08.09 15:29
Ein Handle (das ist dieses Hwnd, an das du die Message schickst) ist eindeutig. Da gibt es keine zwei von, die gleich sind. Was man machen kann, um eine spezielle Kopie eines mehrfach laufenden Programmes mit dem selben Fenstertitel zu bekommen, weiß ich nicht.
Wenn du zwei Kopien des Programmes laufen hast, und deine Messages immer an dasselbe Fenster schicken willst, musst du einmal das Fenster suchen, und dir das Handle merken. Das funktioniert allerdings nur solange sich das Handle des Fensters sich nicht ändert - bei Delphi-Formularen kann man das afaik durch ändern von FormStyle zur Laufzeit erreicht werden. Deshalb steht in der Hilfe dazu auch drin, dass man das nicht tun sollte...
D3lta - Fr 14.08.09 16:48
handle davon rauskommen is ja kein prob, nu ich hab jetzt halt 2 mal das gleiche handle (2 mal gleiche anwendung)
aber möchte entscheiden können an welche anwendung (mit dem gleichen handle) ich das senden möchte^^
elundril - Fr 14.08.09 17:06
Nochmal, es gibt keine 2 gleichen Handles. Wäre ja auch sonst doof von Windows gemacht, weil es selbst die Programme / Fenster unterscheiden könnte, nem?
Zeig am besten mal den Code den du verwendest um die HWNDs ausfindig zu machen. Es könnte sein das du nur glaubst du hast 2 Programme mit dem selben HWND weil du immer nur ein Programm anfragst wegen dem HWND.
lg elundril
D3lta - Fr 14.08.09 19:27
Delphi-Quelltext
1:
| h := FindWindowA(0, 'titel'); |
<- so such ich halt und dann send ich halt per postmessage an h
und der titel is z.B. 2 mal vorhanden
Moderiert von
Narses: Delphi-Tags hinzugefügt
Delete - Fr 14.08.09 22:11
D3lta hat folgendes geschrieben : |
h := FindWindowA(0, 'titel');
<- so such ich halt und dann send ich halt per postmessage an h
und der titel is z.B. 2 mal vorhanden |
Da haben wir es doch schon. Es gibt zwei fenster mit dem gleichen Titel, aber die haben betsimmt nicht das gleiche Handle. Guck mal mit WinSpy, ob sie auch die gleiche Fensterklasse haben. Haben sie auch die gleiche Fensterklasse, wird es schwierig.
D3lta - Sa 15.08.09 00:35
ich such doch damit aber doch nur nach dem titel oder? weil is ja 2mal die gleiche anwendung
Delete - Sa 15.08.09 01:21
Hast du schon mal geguckt für was der erste Parameter von FindWindow steht? Aber wenn du sagst, dass es die gleiche Anwendung ist, dann dürfte auch die Fensterklasse die selbe sein.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!