Einzelnen Beitrag anzeigen

Lostriga

Registriert seit: 14. Jun 2008
28 Beiträge
 
#1

FindWindow - gefundenes Fenster anzeigen und weitergeben

  Alt 5. Dez 2008, 20:35
Sorry .. falsches Unterforum >.<


Aloa,

ich bin gerade am programmieren eines Tools.
Dieses habe ich auch schon fast fertig gestellt .. bis auf eine Funktion!

Ich erkläre das Programm besser erst mal. Als erstes das wichtigste Stück vom Source.

Delphi-Quellcode:
procedure TForm1.Timer51Timer(Sender: TObject);
var
Hwnd : THandle;
dwKey : DWord;
begin
Hwnd := FindWindow('Nil, 'Word');
dwKey := Ord(
'C');
myPostMessageA(Hwnd, WM_KEYDOWN, dwKey, MapVirtualKey(dwKey, 0));
myPostMessageA(Hwnd, WM_KEYUP, dwKey, MapVirtualKey(dwKey, 0));
end;
Hiermit wird ja (ich habe einfach mal Word genommen) das Programm Word gesucht, gefunden, die Taste C gedrückt und anschließend wieder los gelassen.


Nun kommt der Teil der noch fehlt und auf den ich auch einfach nicht komme, Google wird mich schon als Extrem Spam Searcher kennen (Ironie).

So wie meine Prozedur zur Zeit aussieht, fragt der Timer immer wieder nach ob Word da ist, er findet es auch, aber was ist wenn ich Word 2 mal öffne, ja dann wird immer das Word gefunden, was vor dem 2ten liegt.

Deshalb möchte ich gern einen Button einbauen und auf diesen FindWindow setzen, der ohne Schleife fungiert.
Da jedes Programm (in diesem Fall Word) eine ID/Parameter/Prozessnummer/.. hat, möchte ich das diese, nach dem Klick auf dem Button, in einem Editfeld angezeigt wird.
Jetzt kommt nun wieder der Timer in´s Spiel, da dieser ja nun kein FindWindow mehr hat, soll er jetzt die ID/Para.. aus dem Editfeld lesen und somit zu 100% den Tastendruck immer an das richtige Word senden, egal ob es im Vorder- oder Hindergrund ist.



So ich denk mal jetzt wisst ihr wo rum es mir geht ^^.

Ich bitte um eure Hilfe, und hoffe das einer so etwas schon mal gemacht/gesehen hat oder eine andere Möglichkeit kennt mit gleichem Effekt.


mfg

Lostriga
  Mit Zitat antworten Zitat