C#an Prozess Tasten senden

03/25/2010 19:12 Devil589#1
Hallo @all,
ich habe mal folgende Frage und zwar, wie kann man diverse Tastenbefehle, Tastendrücke an einen bestimmten Prozess senden ohne das der Prozess in den Vordergrund muss?

Beispiel: Das C# Programm soll die Buchstaben "A,B,C" an Notepad schicken was aber minimiert oder im Hintergrund ( Nicht fokusiert ) ist.

Falls mir jemand weiter helfen kann wäre ihm dem jenigen sehr dankbar.
Vielen Dank schon mal.

See Ya!
03/25/2010 19:17 HardCore.1337#2
Schau dir mal PostMessage aus der WinAPI an
03/25/2010 21:25 Devil589#3
Hi, danke für deine Antwort.
Aber ich versteh das noch nicht so ganz mit der PostMessage aus der WinAPI.
Hast du vielleicht ein Beispiel für mich was in C# ist?
Oder kennt jemand anders vielleicht ein gutes Beispiel?

Vielen Dank schon einmal.

See Ya!
03/25/2010 22:20 schlurmann#4
[Only registered and activated users can see links. Click Here To Register...]
03/25/2010 22:36 Devil589#5
Danke für die Antwort schlurmann aber das ist genau das was ich nicht brauche denn bei den Beispielen wird Sendkeys.Send genutzt und das heißt die Applikation muss in den Vordergrund.
Ich suche ein Beispiel wo gezeigt oder erklärt wird wie man Tasten an einen Prozess schickt/sendet der nicht in den Vordergrund muss.

Danke schon mal.

See Ya!
03/26/2010 01:46 Nosferatu.#6
Quote:
Originally Posted by Devil589 View Post
Danke für die Antwort schlurmann aber das ist genau das was ich nicht brauche denn bei den Beispielen wird Sendkeys.Send genutzt und das heißt die Applikation muss in den Vordergrund.
Ich suche ein Beispiel wo gezeigt oder erklärt wird wie man Tasten an einen Prozess schickt/sendet der nicht in den Vordergrund muss.

Danke schon mal.

See Ya!
ehm.

Das was General Desert gesagt hat ist genau das was du brauchst.
Und da sich dieser Syntax bei vielen IDEs nicht ändert (ausgenommen basic ide's) kann ich dir mal ein beispiel geben.

Code:
var 
 Handle:hwnd;
 Window:String;

Window:='TeamSpeak 3';
Handle:=FindWindow(nil,Pchar(Window));
PostMessage(Handle, WM_KEYDOWN, VK_Return, 0); // enter senden
Wie genau das bei C# geht musst du besser wissen. Auf jedenfall ist das der weg falls ich dich richtig verstanden habe.