0

Windows コンソールを右クリックすると、select、select all、find などのコマンドを含む小さなメニューが表示されます。

私の質問は、ユーザーがマウスで行うのと同じように、最後にコンソール内のすべてのテキストを選択するコマンドを入力するなど、プログラム自体からそれを行う方法がありますか?

4

1 に答える 1

2

それがアクティブなウィンドウである場合は、SendInputを使用してキーボードまたはマウスのアクションを模倣できます。http://msdn.microsoft.com/en-us/library/windows/desktop/ms646310%28v=vs.85%29.aspxを参照してください

アクティブなウィンドウでない場合は、最初にコンソールウィンドウのハンドルを取得してから、マウス/キーボードメッセージを投稿する必要があります。ここで、コンソールウィンドウハンドルを取得するには、2つの方法があります。


方法 -1http://msdn.microsoft.com/en-us/library/ms683175 (VS.85).aspx

方法-2

  1. GetConsoleTitle()を取得し、変数に保存します。
  2. FindWindowを使用してウィンドウを識別できるように、一意のタイトルを作成します
  3. SetConsoleTitle()を使用して、新しく形成されたタイトルを設定します。
  4. FindWindow(NULL、newly_formed_title)を使用して、ウィンドウハンドルを取得します。
  5. もう一度SetConsoleTitle()を呼び出して、最初に保存した古いタイトルを設定します。

手順4では、コンソールウィンドウのハンドルがあります。


コンソールウィンドウハンドルを取得したら、さまざまなマウス/キーボードメッセージを使用してアクションをシミュレートできます。

于 2012-07-20T07:19:00.667 に答える