2009-12-05 5 views
0

Nous avons un logiciel hérité qui dépend de l'envoi de séquences de touches à une fenêtre DOS, puis de racler l'écran. J'essaie de recréer le logiciel en redirigeant les flux d'entrée et de sortie du processus directement vers mon application. Cette partie, j'ai réussi très bien à l'aide:Modificateurs d'envoi .NET StandardInput

_Process = new Process(); 
{ 
    _Process.StartInfo.FileName = APPLICATION; 
    _Process.StartInfo.RedirectStandardOutput = true; 
    _Process.StartInfo.RedirectStandardInput = true; 
    _Process.StartInfo.RedirectStandardError = true; 
    _Process.StartInfo.UseShellExecute = false; 
    _Process.StartInfo.CreateNoWindow = true; 
    _Process.OutputDataReceived += new DataReceivedEventHandler(_Process_OutputDataReceived); 
    _Process.ErrorDataReceived += new DataReceivedEventHandler(_Process_ErrorDataReceived); 
} 

Mon problème est que je dois envoyer des modificateurs de commande tels que Ctrl, Alt et de l'espace, ainsi que F1-12 à ce processus, mais ne suis pas sûr comment. Je peux envoyer du texte de base et je reçois une réponse correcte. J'ai juste besoin d'émuler ces modificateurs.

+0

J'ai trouvé que l'envoi de modificateurs de clavier via un canal en C# n'est pas possible. Est-ce que quelqu'un sait si je suis capable de le faire dans d'autres langues? –

Répondre

0

Consultez ce code table et voyez-le, vous pouvez envoyer les deux codes clés et les faire fonctionner.

Questions connexes