2

C#のSendKeyを介してレガシーDOSアプリケーションを駆動する必要があります。しかし、うまくいかなかったことがわかりました。

http://www.vbforums.com/showthread.php?t=39626から、SendKeyがMS-DOSアプリケーションでは実際には機能しないことを理解しています。SendKeyが呼び出されると、MS-DOSアプリケーションが受け取るのはすべて「\」です。

ただし、フォーラムは、クリップボードを利用してキーをMS-DOSアプリケーションにプッシュするMSDNArticle142819を指しています。VBサンプルが提供されていますが、C#に変換する方法がわかりません。

誰かが私が参照できるC#で書かれた同様の例を持っているか知っていますか?

4

2 に答える 2

2

代わりにkeybd_eventpinvoke )を使用する必要があります。SetForegroundWindowpinvoke)を使用して、コンソールウィンドウをフォアグラウンドウィンドウに設定してから呼び出す必要があります。

于 2009-06-02T17:27:59.643 に答える
1

質問を正しく理解できれば、Process.StandardInputプロパティを使用してキーを送信できます。Process オブジェクトを取得するには、GetProcessBy... メソッドのいずれかを使用できます。

于 2009-06-02T17:48:53.013 に答える