首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏跟着阿笨一起玩NET

    Winform注册和注销全局快捷键

    [System.Runtime.InteropServices.DllImport("user32.dll")] //申明API函数 public static extern bool RegisterHotKey 示例,下例注册了四个热键: public MainForm() { InitializeComponent(); RegisterHotKey (Handle, 100, 2, Keys.Left); // 热键一:Control +光标左箭头 RegisterHotKey(Handle, 200, 2, Keys.Right); / /热键一 :Control +光标右箭头 RegisterHotKey(Handle, 300, 2, Keys.Up); // 热键一:Control +光标上箭头 RegisterHotKey(Handle, 微软将许多常用的系统函数都封装在 user32.dll 中,注册系统热键使用到的 RegisterHotKey 函数和 UnregisterHotKey 函数也在该 DLL 文件中,所以我们需要将这两个方法映射到

    2.1K10发布于 2018-09-18
  • 12.1 使用键盘鼠标监控钩子

    本节将介绍如何使用Windows API中的SetWindowsHookEx和RegisterHotKey函数来实现键盘鼠标的监控。 这些函数可以用来设置全局钩子,通过对特定热键挂钩实现监控的效果,两者的区别在于SetWindowsHookEx函数可以对所有线程进行监控,包括其他进程中的线程,而RegisterHotKey函数只能对当前线程进行监控 首先我们来实现注册热键功能,注册热键可以使用RegisterHotKey()函数,该函数可以将一个热键与当前应用程序或线程绑定,使得当用户按下热键时,系统会自动将该热键的消息发送到该应用程序或线程中,该函数原型如下 ;BOOL RegisterHotKey( HWND hWnd, int id, UINT fsModifiers, UINT vk);其中,参数的含义如下:hWnd:热键所属的窗口句柄,通常设置为 (NULL, 1, MOD_CONTROL, VK_F1)) { cout << GetLastError() << endl; } if (0 == RegisterHotKey(NULL

    1.5K31编辑于 2023-10-07
  • 来自专栏NetCore

    c#中设置快捷键

    BOOL RegisterHotKey(  HWND hWnd,  int id,  UINT fsModifiers,  UINT vk );   和 BOOL UnregisterHotKey( 于是有了: [DllImport("user32.dll", SetLastError=true)] public static extern bool RegisterHotKey(  IntPtr sender, System.EventArgs e) {  label2.AutoSize = true;  Clipboard.Clear();//先清空剪贴板防止剪贴板里面先复制了其他内容  RegisterHotKey

    1.3K60发布于 2018-02-01
  • 12.1 使用键盘鼠标监控钩子

    本节将介绍如何使用Windows API中的SetWindowsHookEx和RegisterHotKey函数来实现键盘鼠标的监控。 这些函数可以用来设置全局钩子,通过对特定热键挂钩实现监控的效果,两者的区别在于SetWindowsHookEx函数可以对所有线程进行监控,包括其他进程中的线程,而RegisterHotKey函数只能对当前线程进行监控 首先我们来实现注册热键功能,注册热键可以使用RegisterHotKey()函数,该函数可以将一个热键与当前应用程序或线程绑定,使得当用户按下热键时,系统会自动将该热键的消息发送到该应用程序或线程中,该函数原型如下 ; BOOL RegisterHotKey( HWND hWnd, int id, UINT fsModifiers, UINT vk ); 其中,参数的含义如下: hWnd:热键所属的窗口句柄 (NULL, 1, MOD_CONTROL, VK_F1)) { cout << GetLastError() << endl; } if (0 == RegisterHotKey(

    1.4K20编辑于 2023-10-11
  • 来自专栏WPF

    WPF监听快捷键的几种方式

    const int Ctrl5KeyEventId = 9000; [DllImport("user32.dll")] public static extern bool RegisterHotKey AddHook(HwndHook); //真正注册快捷键监听处理: 同时注册数字键和小键盘的CTRL+5 RegisterHotKey(handle, Ctrl5KeyEventId , (uint)ModifierKeys.Control, (uint)KeyInterop.VirtualKeyFromKey(Key.D5)); RegisterHotKey

    1.4K20编辑于 2023-03-23
  • 12.3 实现模拟鼠标录制回放

    / 得到数据后开始回放 SetCursorPos(key_item[0], key_item[1]); Sleep(70); } } 最后是主函数部分,我们通过RegisterHotKey WM_HOTKEY消息则依次判断是否启用录制回放等功能,代码如下所示; int main(int argc, char* argv[]) { // 注册热键 F1 , F2 if (0 == RegisterHotKey (NULL, 1,0, VK_F1)) { cout << GetLastError() << endl; } if (0 == RegisterHotKey(NULL , 2,0, VK_F2)) { cout << GetLastError() << endl; } if (0 == RegisterHotKey(NULL,

    97520编辑于 2023-10-11
  • 12.3 实现模拟鼠标录制回放

    / 得到数据后开始回放 SetCursorPos(key_item[0], key_item[1]); Sleep(70); } } 最后是主函数部分,我们通过RegisterHotKey WM_HOTKEY消息则依次判断是否启用录制回放等功能,代码如下所示; int main(int argc, char* argv[]) { // 注册热键 F1 , F2 if (0 == RegisterHotKey (NULL, 1,0, VK_F1)) { cout << GetLastError() << endl; } if (0 == RegisterHotKey(NULL , 2,0, VK_F2)) { cout << GetLastError() << endl; } if (0 == RegisterHotKey(NULL,

    1.1K20编辑于 2023-10-09
  • 12.3 实现模拟鼠标录制回放

    / 得到数据后开始回放 SetCursorPos(key_item[0], key_item[1]); Sleep(70); } } 最后是主函数部分,我们通过RegisterHotKey WM_HOTKEY消息则依次判断是否启用录制回放等功能,代码如下所示; int main(int argc, char* argv[]) { // 注册热键 F1 , F2 if (0 == RegisterHotKey (NULL, 1,0, VK_F1)) { cout << GetLastError() << endl; } if (0 == RegisterHotKey(NULL , 2,0, VK_F2)) { cout << GetLastError() << endl; } if (0 == RegisterHotKey(NULL,

    88920编辑于 2023-10-11
  • FPS游戏:封装D3D游戏选择菜单

    这种方式绘制出来的方框或菜单,都有一个显著的特点,首先占用CPU过高,且当有其他窗体覆盖到游戏顶层时,则绘制出来的菜单或方框将会被置顶,如下效果: 至于外部绘制如何监控热键,我们可以使用RegisterHotKey 在原始绘图函数工作之前,需要增加新的绘制方法,内部绘制效率时最高的,且内部绘制不存在占用CPU资源高的情况,一般绘制出来的效果如下: 如上,很明显内部绘制与父进程已经融合了,并不存在挡住的情况,但内部绘制使用RegisterHotKey

    1.3K10编辑于 2022-12-28
  • 来自专栏接口自动化测试平台

    基于Java制作的截屏小工具

    this.countButton.setText("序号: " + this.screenshotCount); }); instance.registerHotKey (75, JIntellitype.MOD_CONTROL, (int) 'K'); instance.registerHotKey(72, JIntellitype.MOD_CONTROL 、首先是热键的注册用法,这里JIntellitype.getInstance()是一个单例模式,然后注册了两个快捷键:Ctrl+K和Ctrl+H JIntellitype.getInstance().registerHotKey (75, JIntellitype.MOD_CONTROL, (int) 'K'); JIntellitype.getInstance().registerHotKey(72, JIntellitype.MOD_CONTROL

    1.5K81编辑于 2023-05-14
  • 来自专栏ClearSeve

    MFC注册热键

    注册热键 // 窗口句柄 热键消息ID 修正标识 键码 if(RegisterHotKey(this->GetSafeHwnd(),4001,nNtart2,nNtart)==0) { AfxMessageBox

    2.2K20编辑于 2022-02-11
  • 来自专栏网络安全技术点滴分享

    funcspy Windows可执行文件静态分析工具分析

    SleepEx', 'NtDelayExecution', 'NtWaitForMultipleObjects', 'NtWaitForSingleObject', 'CreateWindowExA', 'RegisterHotKey GetWindowDC', 'MapVirtualKeyA', 'MapVirtualKeyExA', 'PeekMessageA', 'PostMessageA', 'PostThreadMessageA', 'RegisterHotKey

    38610编辑于 2025-06-16
  • 来自专栏全栈程序员必看

    C#软件开发实例.个人定制自己的屏幕抓图工具(八)加入了截图功能键盘

    //RegisterHotKey(Handle, 100, 2 | 1, Keys.A); } if (e.Shift && e.KeyCode == Keys.Enter

    66220编辑于 2022-07-06
  • 来自专栏c#Winform自定义控件系列

    c#QQ连连看辅助

    390 gamename = reader.ReadToEnd(); 391 } 392 LianLianHelp.RegisterHotKey (this.Handle, 800, 0, Keys.F10); 393 LianLianHelp.RegisterHotKey(this.Handle, 801, 0, Keys.F11 ); 394 LianLianHelp.RegisterHotKey(this.Handle, 802, 0, Keys.F6); 395 LianLianHelp.RegisterHotKey 256 //注册热键的api 257 [DllImport("user32.dll")] 258 public static extern bool RegisterHotKey

    97320发布于 2019-09-11
  • 来自专栏又见苍岚

    Windows 桌面一键切换工具 Virgo

    176 行的函数 register_hotkey 改为 static void register_hotkey(unsigned id, unsigned mod, unsigned vk) { RegisterHotKey

    3.7K21编辑于 2022-08-09
  • 来自专栏c++ 学习分享

    VC动态生成菜单菜单响应及加速键的使用

    = vecString[num - 1][0]; } else { vk = GetCodeByName((LPTSTR)(LPCTSTR)vecString[num - 1].Trim()); } RegisterHotKey

    1.2K10编辑于 2023-07-06
  • 来自专栏林德熙的博客

    win 消息

    /// WM_PALETTECHANGED = 0x0311, ///

    /// 当用户按下由REGISTERHOTKEY

    1.3K10发布于 2018-09-18
  • 来自专栏林德熙的博客

    win 消息

    /// WM_PALETTECHANGED = 0x0311, ///

    /// 当用户按下由REGISTERHOTKEY

    72400编辑于 2022-08-04
  • Win32汇编:常用系统API函数

    >.codemain PROC; 41h = A | 65h=uMsg.wParaminvoke RegisterHotKey,NULL,065h,MOD_CONTROL or MOD_ALT,041h.while

    1.5K30编辑于 2022-12-22
  • 通用系统函数

    > .code main PROC ; 41h = A | 65h=uMsg.wParam invoke RegisterHotKey,NULL,065h,MOD_CONTROL or MOD_ALT

    1.5K20编辑于 2022-12-28
领券