0

当右键单击 Windows 控制台时,会显示一个小菜单,其中包含选择、全选、查找等命令。

我的问题是有没有办法从程序本身来做,例如在最后的命令中选择控制台中的所有文本,就像用户用鼠标做的那样?

4

1 回答 1

2

好吧,如果它是活动窗口,您可以使用 SendInput 来模拟键盘或鼠标操作。参考http://msdn.microsoft.com/en-us/library/windows/desktop/ms646310%28v=vs.85%29.aspx

如果它不是活动窗口,首先您必须获取控制台窗口句柄,然后发布鼠标/键盘消息。现在要获得控制台窗口句柄,您有两种方法。


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

方法 - 2

  1. GetConsoleTitle() 并将其保存在变量中。
  2. 形成一个唯一的标题,以便您可以使用 FindWindow 识别窗口
  3. 使用 SetConsoleTitle() 设置新形成的标题。
  4. 使用 FindWindow(NULL, new_formed_title) 获取窗口句柄。
  5. 再次调用 SetConsoleTitle() 以设置您在开始时保存的旧标题。

在第 4 步中,您有控制台窗口句柄。


拥有控制台窗口句柄后,您可以使用各种鼠标/键盘消息来模拟操作。

于 2012-07-20T07:19:00.667 回答