2012-04-06 7 views
0

私はfindwindowとsendmessageで試してみましたが、sendmessageでGUI用のメッセージしか送信できません。助けて!!!!!C++からcmd.exeに一連の文字を送信するにはどうすればよいですか?

+0

あなたが入力しようとしていると思っているウィンドウを作成したいのであれば、 'WM_KEYDOWN'と' WM_KEYUP'を使った 'SendMessage'がやり方です。 cmdを翻訳させます。エミュレート入力は、特定の1つのウィンドウで少し極端に見えます。私があなたが達成しようとしているものを正確に得れば、100%の確信はありません。 – chris

+0

最高の答えを得るには、より多くの情報を提供する必要があります。自分でコンソールアプリを起動できますか?なぜこれをやっているの?どのアプリを自動化しようとしていますか? – tenfour

+0

最終的な目標が何であるかを知っていれば、窓をつぶすよりも良い方法を指摘できます。 – chris

答えて

0

keybd_event機能を使用してください。それほどフレンドリーではないので、複雑なタスクに使用する場合は、VBScript/.NET用のよく知られたSendKeyコマンドをエミュレートするCodeProjectのthis libraryをご覧ください。

+2

"注意:この機能は廃止されました。代わりにSendInputを使用してください。リンク内で右。 – chris

0

私は、入力/出力ハンドルを指定してSTARTUPINFO構造体を使用するCreateProcess関数を使用してコマンドラインプロセスを開始することをお勧めします。

cmdプロセスが既に開始されているときは、SendInputを使用してください。しかし、IMHOはこのように信頼性が低いです。

関連する問題