• 测试下Live Writer 插件生效否!


    测试下客户端插件!
    
    1、首先定义一个存储热键的变量。WORD m_wHotKey = 0x00;
    2、在对话框中增加一个热键输入框IDC_HOTKEY(注:不是EditBox而是HotKey框哦),并增加一个设置按钮响应事件如下:
    void CHotkeyDlg::OnSetup() 
    {
     // 这里取出设置的热键值
     m_wHotKey=(WORD)SendDlgItemMessage(IDC_HOTKEY,HKM_GETHOTKEY,0,0);
     // 注册热键
     RegHotkey();
    }
    3、在程序中加入一个注册热键的函数以便使用。如:
    void CHotkeyDlg::RegHotkey()
    {
           // 如果没有设置的热键时,则使用默认的热键,这里为:ctrl + alt + e
     if (0x00 == m_wHotKey)
      m_wHotKey = MAKEWORD('E', HOTKEYF_ALT|HOTKEYF_CONTROL);
    
     // 将热键值设置到热键输入框
     ::SendDlgItemMessage(m_hWnd,IDC_HOTKEY,HKM_SETHOTKEY,0xffff&m_wHotKey,0);
     // 安全起见,注销先前的热键
     UnregisterHotKey(m_hWnd,99999);
     UINT Mod=0;
            // 看看alt键是否已经被设置
     if(HOTKEYF_ALT&HIBYTE(m_wHotKey))
      Mod|=MOD_ALT;
     if(HOTKEYF_CONTROL&HIBYTE(m_wHotKey))
      Mod|=MOD_CONTROL;
     if(HOTKEYF_SHIFT&HIBYTE(m_wHotKey))
      Mod|=MOD_SHIFT; 
     // 这里进行热键注册,最后一个参数因为我们在存储热键值时使用了16位存储,故这里取出低位值
     if ( !RegisterHotKey(m_hWnd,99999,Mod, LOBYTE(m_wHotKey)) )
     {
      AfxMessageBox("registre failed"); 
      return;
     }
    
     // 将我们设置的热键存储起来。这里存储到windows目录下,当然你也可以指定存储到其它地方。
     char sz[20];
     sprintf(sz,"%d",m_wHotKey); 
     WritePrivateProfileString("setup","hotkey",sz,"hotkey.ini");
    }
    4、在初始化函数中加入:
           // 取出我们设置的热键值,第三个参数为默认构造的热键值ctrl + alt + e
     m_wHotKey=0xffff&GetPrivateProfileInt("setup","hotkey",MAKEWORD('E',HOTKEYF_ALT|HOTKEYF_CONTROL),"hotkey.ini");
     // 注册热键
     RegHotkey();
    5、在窗体Destory函数中加入热键的注销函数:
         UnregisterHotKey(m_hWnd,99999);
    
    通过以上几个步骤,你的系统热键就可以成功使用了,试试看!
  • 相关阅读:
    MVC3中输出Html标签的方法
    Server.MapPath 出现未将对象引用设置到对象的实例
    谈谈网站静态化
    WCF 服务应用程序与 服务库之间的区别
    插入中国所有省和市的SQL语句--以后用
    KiCad 元件值 F4NNIU 规范 (2020-04-30)[31.98%]
    FastAdmin 安装后点登录没有反应怎么办?
    笔记:读英国老太太的复仇计划 (2019-10-15)
    KiCad 工程用 Git 管理需要忽略哪些文件?
    关于 SSD 的接口和相关名词(2019-09-10)
  • 原文地址:https://www.cnblogs.com/tyjsjl/p/2156153.html
Copyright © 2020-2023  润新知