有没有一种方法可以模拟从鼠标右键菜单发送到控制台的调用

is there a way to simulate calls that are send to console from right-click mouse menu?

本文关键字:菜单 右键 鼠标 调用 控制台 模拟 一种 方法 有没有      更新时间:2023-10-16

右键单击windows控制台时,会显示一个小菜单,其中包含select、select all、find等命令。

我的问题是,有没有一种方法可以从程序本身做到这一点,例如,在最后的put命令中选择控制台中的所有文本,就像用户用鼠标一样?

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

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


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

方法-2

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

在步骤4中,您拥有控制台窗口手柄。


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