Einzelnen Beitrag anzeigen

Peter_Schmidt

Registriert seit: 2. Nov 2007
2 Beiträge
 
#1

Tastatureingabe an ein per ShellExe gestartetes Prog. senden

  Alt 16. Nov 2007, 15:10
Moin Moin,

ich habe da ein etwas außergewöhnliches Problem welches ich nicht lösen kann (bin kein Profi im Programmieren).
Ich rufe in einem Programm bei "Button.Click" per ShellExecute das Programm Plink.exe im Hintergrund auf, um damit einen Port über SSH2 zu Tunneln (Plink.exe ist die Konsolenversion des SSH-Clients Putty). Die Parameter übergebe ich als String-Variable "Parameter" (siehe Code).

Delphi-Quellcode:
   ShellExecute(Handle,
               'open',
               'plink.exe',
               PChar(Parameter),
               nil,
               SW_HIDE);
Soweite kein Problem (hab dazu viele Tipps hier im Forum gefunden).
Jetzt mein Problem: Wenn Plink sich auf einem PC das erste mal zu dem SSH2-Server verbindet erscheint wenn man es nicht "SW_HIDE" startet eine Meldung, dass der Host Key des Servers (quasi der Fingerabdruck der beweist dass es sich tatsächlich um den richtigen Server handelt) noch nicht gespeichert ist. Plink hält an der Stelle an bis man entweder "y" oder "n" und Enter drückt um den Server als korrekt zu bestätigen.

Gibt es eine Möglichkeit plink.exe verborgen zu starten (wie oben beschrieben), und dann nach 1-2 Sekunden die Tastatureingabe "y" und "Enter" zu übergeben. Also so, dass mein Programm mir die Tastatureingabe abnimmt und jedesmal wenn Plink gestartet wird für den User im Hintergrund "y"+"Enter" eingibt. Wäre super wenn mich jemand in die richtige Richtung schupsen könnte.

[edit=SirThornberry]Titel korrigiert - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat