Feedback

C# - Prozess starten und Tasten senden (SendKeys)

Veröffentlicht von am 05.05.2006
(2 Bewertungen)
Ein Programm wird als Prozess gestartet, anschließend kann man Tasteneingaben an diesen Prozess senden
GFU-Schulungen  [Anzeige]

ASP.NET Core - Der Einstieg

In nur 3 Tagen lernen Sie, wie man mit ASP.NET Core und den Technologien MVC, Entity Framework, WebAPI und Razor professionelle Web-Anwendungs-Architekturen aufbaut. Diese Schulung ist der perfekte Einstieg, um datengetriebene und präsentations-orientierte Applikationen auf Basis der ASP.NET Core Plattform zu erstellen.

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

// Die Namensräume System.Runtime.InteropServices 
// und System.Diagnostics werden benötigt

[DllImport("User32.dll", SetLastError = true)]
public static extern int SetForegroundWindow(IntPtr hwnd);

int ID;
// Hier kann zum Beispiel "Notepad.exe" übergeben werden
private void ProzessErstellen(string Programmname)
{
    Process P = new Process();
    P.StartInfo.FileName = Programmname;
    P.Start();
    ID = P.Id;
}

private void TextSenden(string Text)
{
    System.IntPtr MainHandle = Process.GetProcessById(ID).MainWindowHandle;
    SendKeys.Send(Text);
    SetForegroundWindow(MainHandle);
}

2 Kommentare zum Snippet

sausefurz schrieb am 14.06.2009:
In der Methode TextSenden müßte es nicht

SetForegroundWindow(MainHandle);
SendKeys.Send(Text);

heißen?
Jan Welker schrieb am 14.06.2009:
Hallo,

nein, das hatte ich auch erst gedacht. Probiers mal so aus.
Jan
 

Logge dich ein, um hier zu kommentieren!