0

通常用户通过在控制台标题栏中单击鼠标右键然后选择“编辑”并最后选择“标记”来执行此操作。-> http://www.megaleecher.net/Copy_Paste_Text_Dos_Window

那么有没有办法从控制台应用程序中通过将消息/api调用/键盘序列发送到它自己的窗口来做到这一点?

4

2 回答 2

1

如果这是您自己的应用程序,并且您想要 Windows 应用程序而不是控制台应用程序的更丰富的行为和灵活性,那么请使用 Windows 应用程序。否则,您可以尝试通过模拟输入来自动执行这些步骤SendInput。我建议不要这样做,因为它需要两个步骤(一次用于右键单击,一次用于选择“标记”)。这意味着如果有人在这两个事件之间点击了其他东西,你的顺序就会被打破。此外,您确实依赖于随时可能更改的实现细节的自动化。

查看Console Functions,似乎没有任何东西可用于设置选择。最接近的是GetConsoleSelectionInfo

如果您想处理控制台应用程序中的信息,更好的选择是将其通过管道传输到您自己的进程并在那里处理。

于 2012-12-09T13:10:15.940 回答
0

成立:PostMessage(GetConsoleWindow(), WM_COMMAND, 65522, 0);

于 2012-12-09T22:58:07.387 回答