答案 0 :(得分:3)
没有API可以满足您的要求。所以你必须改为模拟它。
使用SetConsoleMode()
启用ENABLE_QUICK_EDIT_MODE
以启用鼠标选择文字。然后使用SendInput()
或mouse_event()
来操纵鼠标移动并根据需要进行点击。
使用GetConsoleWindow()
获取控制台的HWND
和GetWindowRect()
以获取其在屏幕上的位置。使用GetConsoleScreenBufferInfo/Ex()
获取控制台的列/行计数,以及控制台窗口中字符出现的矩形。然后,您应该能够使用一些数学运算来在发送鼠标操作时根据需要将字符列/行偏移转换为屏幕坐标。
答案 1 :(得分:0)
使用ReadConsoleOutput读取您要选择的区域。更改每个字符的接收CHAR_INFO属性以反映不同(例如反转)的颜色。使用WriteConsoleOutput将修改后的数据写入相同的矩形区域。这将显示“选定”区域。如果需要,使用SetConsoleCursorPosition更改光标位置。可以看到如何使用ReadConsoleOutput和WriteConsoleOutput的示例here。