Autor Beitrag
Vitalic
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 68



BeitragVerfasst: Do 17.11.11 12:00 
Hallo,

also wie der Titel bereits sagt möchte ich in einer bereits laufenden cmd.exe einen oder mehrere Befehle ausführen.
Den Process cmd.exe ruft ein bestimmtes Program auf, welches ich nicht beeinflussen kann.

Die cmd.exe hat auch einen bestimmten namen, welchen man vlt. nutzen könnte um den process zu finden


MfG
Vitalic
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Fr 18.11.11 21:49 
Hi,
also mit der normalen .Net Process-Klasse kriegst Du das nicht hin.
Denn Du kannst, wenn der Prozess einmal gestartet ist, nicht einfach "RedirectStandardInput" ändern. Das ist das Problem.
Also musst Du schon tiefer in die Trickkiste greifen.

Habe da mal was interessantes auf codeproject gefunden: www.codeproject.com/KB/cs/SendKeys.aspx
Also einfach alle Zeichen des Befehls an das Window senden, und dann halt noch ein {Enter}, damit das Ganze ausgeführt wird.
LG, Marko
VampireSilence
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109
Erhaltene Danke: 5


C# (VS 2008 Express), PHP/MySQL, Windows XP
BeitragVerfasst: Sa 19.11.11 14:27 
Für die SendKeys-Variante muss das Fenster aber ständig den Fokus haben. Hier hatten wirs schonmal drüber, wie man das auch ohne Fokus hinbekommt, vllt findest du dort ja was Brauchbares.

mfg
- VampireSilence
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: So 20.11.11 10:54 
Hi,

auf der Seite unter den Kommentaren findet sich auch eine Lösung mit der Methode "SendKeysAV", mit der es nicht nötig ist, dass sich das Fenter im Vordergrund befindet. Und das funzt auch.