吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 4155|回复: 63

[Delphi] Delphi全局热键:

  [复制链接]
CuiCuiTaGE 发表于 2019-12-3 12:03 | 显示全部楼层 |阅读模式

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
  Vcl.StdCtrls, Vcl.ComCtrls;

type
  TForm1 = class(TForm)
    RichEdit1: TRichEdit;
    procedure FormCreate(Sender: TObject);
    procedure hotykey(var msg: TMessage); message WM_HOTKEY;
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  id1, id2, id3, id4: Integer;         //id1 ctrl+shift+v , id2 ctrl+shift+window+v

implementation

{$R *.dfm}

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnRegisterHotKey(handle, id1);            //ctrl+shift+V
  UnRegisterHotKey(handle, id2);            //ctrl+shift+window+V
  UnRegisterHotKey(handle, id3);           //ctrl+shift+Alt+Window+V
  UnRegisterHotKey(handle, id4);         //Window+S
end;

procedure TForm1.hotykey(var msg: TMessage);   //定义下面这种热键,要先写长的判断,不然没有反应!这就是原因!
begin
  if (GetAsyncKeyState(VK_CONTROL) < 0) and (GetAsyncKeyState(VK_SHIFT) < 0) and (GetAsyncKeyState(VK_MENU) and (GetAsyncKeyState(VK_LWIN) and (GetAsyncKeyState(Ord('V')))) < 0) then        //Ctrl+Shift+Alt+Window+V
    ShowMessage('Ctrl+Shift+Alt+Window+V');

  if (GetAsyncKeyState(VK_CONTROL) < 0) and (GetAsyncKeyState(VK_SHIFT) < 0) and (GetAsyncKeyState(VK_LWIN) and (GetAsyncKeyState(Ord('V'))) < 0) then        //Ctrl+Shift+Window+V
    ShowMessage('Ctrl+Shift+Window+V');

  if (GetAsyncKeyState(VK_LWIN) and (GetAsyncKeyState(Ord('S'))) < 0) then        //Window+V
    ShowMessage('Window+S');


//if (msg.LParamLo = MOD_CONTROL) and (msg.LParamHi = 86) then
  if (GetAsyncKeyState(VK_CONTROL) < 0) and (GetAsyncKeyState(VK_SHIFT) < 0) and (GetAsyncKeyState(Ord('V')) < 0) then          //ctrl+shift+v
  begin
    ShowMessage('ctrl+shift+v');
    RichEdit1.PasteFromClipboard;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);        //另外 hotkey1 hotkey2 hotkey3要写三个
begin
  id1 := GlobalAddAtom('hotkey1');
  RegisterHotKey(handle, id1, MOD_CONTROL + MOD_SHIFT, 86);                          //ctrl+shift+V 成功了~~

  id2 := GlobalAddAtom('hotkey2');
  RegisterHotKey(handle, id2, MOD_CONTROL + MOD_SHIFT + MOD_WIN, 86);                //ctrl+shift+window+V 成功了~~

  id3 := GlobalAddAtom('hotkey3');
  RegisterHotKey(handle, id3, MOD_CONTROL + MOD_SHIFT + MOD_ALT + MOD_WIN, 86);      //ctrl+shift+Alt+Window+V 成功了~~

  id4 := GlobalAddAtom('hotkey4');
  RegisterHotKey(handle, id4, MOD_WIN, 83);      //Window+V
end;

end.

评分

参与人数 6HB +1 THX +5 收起 理由
消逝的过去 + 1
创客者V2.0 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
agan8888 + 1
playboy + 1
vendict + 1 [快捷评语]--评分=感恩!简单却充满爱!感谢您的作品!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
diyikuai 发表于 2019-12-3 23:49 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
blockke 发表于 2020-10-28 10:34 | 显示全部楼层

不用控件实现全局热键,good
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
iyjrcJOU089 发表于 2022-3-1 03:23 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
FKEUiMSn0 发表于 2022-3-1 15:12 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
KbRDG16 发表于 2022-3-1 15:28 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
mbkvpGML4 发表于 2022-3-8 01:07 | 显示全部楼层

甘拜下风,谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
bLIRZrj 发表于 2022-3-8 15:17 | 显示全部楼层

被标题吸引进来了,回复看看
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Ezy2 发表于 2022-3-8 15:25 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
GSkulFOjfAW 发表于 2022-3-8 15:25 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表