コマンドプロンプトにテキストを送る方法 – プログラミング – Home

コマンドプロンプトにテキストを送る方法
 
通知
すべてクリア

[解決済] コマンドプロンプトにテキストを送る方法


レモ
 レモ
(@レモ)
ゲスト
結合: 17年前
投稿: 2
Topic starter  

初めまして。VC初心者ですが宜しくお願いします。

既に開かれているコマンドプロンプトにテキスト(文字列)を送ろうと思い、
  HWND hwnd;
hwnd = FindWindow(ConsoleWindowClass, NULL);
SendMessage(hwnd, WM_SETTEXT, 0, (LPARAM)(hoge));
として実行してみたのですが、コマンドプロンプトのウィンドウタイトルが変わってし
まいます。
良い手法がございましたらご教授願います。


引用未解決
トピックタグ
Ban
 Ban
(@ban)
Prominent Member
結合: 5年前
投稿: 776
 

# 実行するWindowsのバージョンでも挙動/仕様が違うことがありますので、
# 条件を示すべきと思います。

Consoleアプリはちと特殊なので、普通にHWNDとか使ってもダメです。
Console上で、受信待機してるプロセスでも動作していない限り、
基本的には、自分が属さないConsoleには書き込みはできないかと。
自分と通信できるプロセスか、自分自身をそのConsole上で動かして
パイプやリダイレクトなどをする必要があると思います。

# 自分が起動したConsoleや、Consoleから起動された場合は、
# 継承の設定ができるのですが、そうでないConsoleは基本的に
# Consoleの内部で閉じてるはずなので…。


返信引用
Ban
 Ban
(@ban)
Prominent Member
結合: 5年前
投稿: 776
 

出先なので未確認ですが、フォーカスを与えて
キーイベントを起こすのはいけるかもしれないです。
SendInput API


返信引用
レモ
 レモ
(@レモ)
ゲスト
結合: 17年前
投稿: 2
Topic starter  

ご回答ありがとうございます。
キーイベントを起こすことでconsoleに文字を送ることができました。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました