怎么去掉快捷方式的热键?解决后立即结贴~
如何去掉快捷方式的热键?急!!!解决后立即结贴~~
我用如下的代码为程序添加了桌面快捷方式,但不小心增加了全局热键:
var
MyObject: IUnknown;
MySLink: IShellLink;
MyPFile: IPersistFile;
FileName: String;
Directory: String;
WFileName: WideString;
MyReg: TRegIniFile;
begin
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
FileName := paramstr(0);
with MySLink do
begin
SetPath(pchar(FileName));
SetHotkey(vk_F11); //这句话添加了F11的热键,请问如何才能取消呢?
SetWorkingDirectory(PChar(ExtractFilePath(FileName)));
end;
MyReg := TRegIniFile.Create( 'Software\MicroSoft\Windows\CurrentVersion\Explorer ');
// 在桌面上生成快捷图标
Directory := MyReg.ReadString( 'Shell Folders ', 'Desktop ', ' ');
// 在Start Menu中加入相应的ShortCut
//Directory := MyReg.ReadString( 'Shell Folders ', 'Start Menu ', ' ');
// 在 '发送到 '中加入相应的ShortCut
{ 2:Directory := MyReg.ReadString( 'Shell Folders ', 'SendTo ', ' ');
end; }
WFileName := IncludeTrailingPathDelimiter(Directory) + Application.Title + '.lnk ';
MyPFile.Save(PWChar(WFileName), False);
MyReg.free;
Application.Messagebox( '成功的创建!!! ', '消息框 ',mb_ok+mb_iconinformation);
end;
///////////////////////////////////////////////////////
上面代码中SetHotkey(vk_F11); //这句话添加了F11的热键,请问如何才能取消呢?自动添加了这个热键,其他程序中如果有F11的快捷键都不好用了,请教各位大侠救命啊,解决后立即给分,谢谢!
------解决方案--------------------
UnregisterHotKey
------解决方案--------------------
把热键Unregist掉就行了吧
我用如下的代码为程序添加了桌面快捷方式,但不小心增加了全局热键:
var
MyObject: IUnknown;
MySLink: IShellLink;
MyPFile: IPersistFile;
FileName: String;
Directory: String;
WFileName: WideString;
MyReg: TRegIniFile;
begin
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
FileName := paramstr(0);
with MySLink do
begin
SetPath(pchar(FileName));
SetHotkey(vk_F11); //这句话添加了F11的热键,请问如何才能取消呢?
SetWorkingDirectory(PChar(ExtractFilePath(FileName)));
end;
MyReg := TRegIniFile.Create( 'Software\MicroSoft\Windows\CurrentVersion\Explorer ');
// 在桌面上生成快捷图标
Directory := MyReg.ReadString( 'Shell Folders ', 'Desktop ', ' ');
// 在Start Menu中加入相应的ShortCut
//Directory := MyReg.ReadString( 'Shell Folders ', 'Start Menu ', ' ');
// 在 '发送到 '中加入相应的ShortCut
{ 2:Directory := MyReg.ReadString( 'Shell Folders ', 'SendTo ', ' ');
end; }
WFileName := IncludeTrailingPathDelimiter(Directory) + Application.Title + '.lnk ';
MyPFile.Save(PWChar(WFileName), False);
MyReg.free;
Application.Messagebox( '成功的创建!!! ', '消息框 ',mb_ok+mb_iconinformation);
end;
///////////////////////////////////////////////////////
上面代码中SetHotkey(vk_F11); //这句话添加了F11的热键,请问如何才能取消呢?自动添加了这个热键,其他程序中如果有F11的快捷键都不好用了,请教各位大侠救命啊,解决后立即给分,谢谢!
------解决方案--------------------
UnregisterHotKey
------解决方案--------------------
把热键Unregist掉就行了吧