通知
すべてクリア
Topic starter
2007年7月28日 12:35 PM
初めまして。VC初心者ですが宜しくお願いします。
既に開かれているコマンドプロンプトにテキスト(文字列)を送ろうと思い、
HWND hwnd;
hwnd = FindWindow(ConsoleWindowClass, NULL);
SendMessage(hwnd, WM_SETTEXT, 0, (LPARAM)(hoge));
として実行してみたのですが、コマンドプロンプトのウィンドウタイトルが変わってし
まいます。
良い手法がございましたらご教授願います。
2007年7月28日 6:58 PM
# 実行するWindowsのバージョンでも挙動/仕様が違うことがありますので、
# 条件を示すべきと思います。
Consoleアプリはちと特殊なので、普通にHWNDとか使ってもダメです。
Console上で、受信待機してるプロセスでも動作していない限り、
基本的には、自分が属さないConsoleには書き込みはできないかと。
自分と通信できるプロセスか、自分自身をそのConsole上で動かして
パイプやリダイレクトなどをする必要があると思います。
# 自分が起動したConsoleや、Consoleから起動された場合は、
# 継承の設定ができるのですが、そうでないConsoleは基本的に
# Consoleの内部で閉じてるはずなので…。
2007年7月28日 7:19 PM
出先なので未確認ですが、フォーカスを与えて
キーイベントを起こすのはいけるかもしれないです。
SendInput API
Topic starter
2007年7月30日 7:09 AM
ご回答ありがとうございます。
キーイベントを起こすことでconsoleに文字を送ることができました。
ありがとうございました。