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]

VB.NET 2017/2015/2013 Aufbau

Nach dieser Schulung können Sie mittels objektorientierter Modelle in VB.NET 2017/2015/2013 wiederverwendbare Elemente eigenständig erstellen.

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

// 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!