当我在C++ (本例中的PrtScn键)中注册一个热键时,我注意到原来的功能丢失了。键不再捕获屏幕的图像。有没有办法在不破坏现有绑定的情况下注册热键?
问题背景:我正在尝试创建一个应用程序来帮助我们的测试团队自动完成截图的任务。当用户单击PrtScn / Alt+PrtScn键时,我希望运行一个小应用程序,该应用程序会选择剪贴板上的图像并将其推入文档中。这个应用程序的大部分都是用Java编写的,但是我不得不来C++注册一个热键。
谢谢你的帮助!!
这是我用来注册热键的代码:
RegisterHotKey(NULL, 1, MOD_ALT | MOD_NOREPEAT, VK_SNAPSHOT);
RegisterHotKey(NULL, 2, MOD_NOREPEAT, VK_SNAPSHOT);
while (GetMessage(&msg, NULL, 0, 0) != 0)
{
if (msg.message == WM_HOTKEY)
{
WinExec(" The Java Application ", SW_SHOWNORMAL);
}
} 发布于 2013-08-24 05:52:03
我不认为有任何有文档的方法可以通过编程方式触发操作系统的打印屏幕功能。我有一些你可以尝试的想法:
SendInput()重新按下键(诚然,这有点疯狂),或者SetClipboardViewer()等注册剪贴板查看器。在我看来,最后一个想法似乎是最好的--当剪贴板的内容发生变化时,您会得到通知,然后很容易看到剪贴板上的格式是否是图像。
https://stackoverflow.com/questions/18415205
复制相似问题