在其他进程定义ShortCutkey时添加全局热键的问题。
e.g
在我的delphi应用程序中定义全局键ShortCutkeys Ctrl + A,因此Ctrl + A是通过其他进程定义全局。当按ShortCutkey(Ctrl + A)然后其他进程捕获它和我的应用程序无法捕获ShortCutkey。
使用此代码添加全局
KeyID:= GlobalAddAtom('#SelectAll');
RegisterHotKey(Handle, KeyID, MOD_CONTROL, Ord('A'));
答案 0 :(得分:2)
您已正确描述了全局热键的工作方式。你不能改变它。您所能做的就是为您的客户缓解问题。
当您尝试注册的组合键已被其他内容使用时,RegisterHotKey
函数将失败。利用这种行为。为用户提供一种在程序中自定义组合键的方法,当用户进行选择时,尝试注册它。如果注册失败,则报告失败并提示用户选择其他内容。
全局热键是共享资源。你需要让你的程序与他人合作。