我想用RegisterHotKey设置系统热键,热键由THotKey控件获得,但是在注冊熱鍵(例如:Ctrl+F6)前,如何知道系統的其他程序可能已經注冊了這個熱鍵(Ctrl+F6)了呢?這樣就可以提示讓我選擇其他熱鍵注冊了.
或者說:如何列出系統已經注冊了的全部熱鍵?謝謝指教!
或者說:如何列出系統已經注冊了的全部熱鍵?謝謝指教!
解决方案 »
- dbgridEH 。。中根据条件如何设置某一网格颜色 。。老是出错
- 多个 RzToolButton 中MouseEnter 与 MouseLeave 问题
- 狂简单问题,我如何在一个MEMO控件中定位一行并修改这一行的内容?
- Recruit Delphi Programmer
- 怎样检测ORCALE中的存储过程是否合法?
- delphi的高手们,来帮一个忙!
- 【200分紧急求助】”用QR的ON NEEDDATA、打印内容所在BAND的AFTER PRINT事件中进行判断,可控制打印行数、不足一页用空行填满。“这个
- 如何查找数据库?
- 很急,在线等待,关于打开文件的问题
- 各位高手,帮我看看下面这段代码好吗?
- 大家推荐一下有没有好用的列表控件。比ListView更好用?
- 各位会VC的老大来帮忙看一下,把几个声明转成delphi的
RegisterHotKey fails if the keystrokes specified for the hot key have
already been registered by another hot key.意思應該是說, 如果別的程序已經註冊了, 那RegisterHotKey 就會返回失敗
可用GetLastError 檢查
procedure TForm1.Button1Click(Sender: TObject);
var key:word;
shift:TShiftState;
begin
shortcuttokey(HotKey1.HotKey,key,shift);
//此函數可得hotkey1控件中的執鍵字符(key)及修鈽符(shift
end;
procedure SetUp;
var
Modifiers, vk: Word;
Shift: TShiftState;
begin
ShortCutToKey(sc, vk, Shift);
Modifiers := 0; //这个要初始化
if ssShift in Shift then Modifiers:= Modifiers or MOD_SHIFT;
if ssCtrl in Shift then Modifiers:= Modifiers or MOD_CONTROL;
if ssAlt in Shift then Modifiers:= Modifiers or MOD_ALT;
RegisterHotKey(Handle, 123, Modifiers, vk)
end;