C++;不覆盖现有功能的RegisterHotKey 当我在C++中登记一个热键(在这种情况下是PRTSCN键)时,我注意到原来的功能丢失了。该键不再捕获屏幕的图像。有没有一种方法可以在不破坏现有绑定的情况下注册热键
问题背景:我正在尝试创建一个应用程序来帮助我们的测试团队自动化截图任务。当用户单击PrtScn/Alt+PrtScn键时,我想运行一个小应用程序,在剪贴板上拾取图像并将其推送到文档中。这个应用程序大部分是java,但是我必须到C++注册一个热键。< /P> 谢谢你的帮助 这是我用来注册热键的代码:C++;不覆盖现有功能的RegisterHotKey 当我在C++中登记一个热键(在这种情况下是PRTSCN键)时,我注意到原来的功能丢失了。该键不再捕获屏幕的图像。有没有一种方法可以在不破坏现有绑定的情况下注册热键,c++,winapi,printscreen,registerhotkey,C++,Winapi,Printscreen,Registerhotkey,问题背景:我正在尝试创建一个应用程序来帮助我们的测试团队自动化截图任务。当用户单击PrtScn/Alt+PrtScn键时,我想运行一个小应用程序,在剪贴板上拾取图像并将其推送到文档中。这个应用程序大部分是java,但是我必须到C++注册一个热键。< /P> 谢谢你的帮助 这是我用来注册热键的代码: RegisterHotKey(NULL, 1, MOD_ALT | MOD_NOREPEAT, VK_SNAPSHOT); RegisterHotKey(NULL, 2, MOD_NOREPEAT,
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);
}
}
我不认为有任何记录在案的方式以编程方式触发操作系统的打印屏幕功能。我有一些想法你可以试试:
SendInput()
重新发送按键(这当然有点麻烦),或者SetClipboardViewer()
等注册剪贴板查看器