PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tastaturevent an fremdes Programm schicken



sixfriends
22-01-2005, 13:42
[Win98/C++]Ich versuch grade, mir für meine TVKarten Aufnahme Software eine Art Timer zu schreiben, der zu bestimmten Zeiten die Aufnahme automatisch startet bzw. beendet. Das Problem ist: Ich hab keinen Zugriff auf den Quellcode der TVKarten Anwendung.

Ich wollte daher dem Fenster der Anwendung per PostMessage() vorgaukeln, dass eine Tastenkombination gedrückt wurde (z.B. Strg+R). Das Problem ist jetzt nur: Wie bekomme ich das Handle zu dem anderen Programm, damit ich in dessen Message Queue posten kann.

Ich hab es mit der Funktion BroadcastSystemMessage() erstmal hinbekommen, aber das ist doch recht unschön, da die Message dann an alle Programme geschickt wird, die offen sind. Ich wäre auch für andere Lösungsansätze dankbar....

thx - sixfriends

wraith
22-01-2005, 15:00
Das bekommst du z.b. mit der Funktion FindWindow (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/findwindow.asp).
Jetzt brauchst du den Window und/oder Class Namen deines Programmes, mit WinDowse (http://www.greatis.com/delphicb/windowse/features.html) läßt sich das z.b. rausfinden.Unter dem Tab "Window" steht unter Text der Windowname, und unter dem Tab "Class" steht unter Name der Classname.

sixfriends
22-01-2005, 15:09
thx@wraith.

Hab mich aber mittlerweile durch die source von einem vnc server gewühlt und bin auf die Funktionen GetForegroundWindow() und GetNextWindow(HWND, UINT) gestossen, damit kann der Benutzer dann auswählen, welches Programm die Nachrichten bekommen soll.

Muss jetzt bloss noch die Nachricht richtig zusammenbauen :rolleyes: