首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 程序已经最小化,如何响应组合键消息? [已结贴,结贴人:yuanbocsut]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 15:20:04 楼主
    我的程序已经最小化,这是在键盘上按下 Ctrl + Alt + F 组合键 触发程序的一个特定操作,请问如何让我的程序处理这个消息?
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 15:28:361楼 得分:0
    注册快捷键
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 15:32:352楼 得分:80
    参考:
    http://www.codeproject.com/KB/system/nishhotkeys01.aspx
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 15:35:523楼 得分:10
    参考 
      1      声明热键消息处理函数原型         
        在.h中消息映射声明处(AFX_mSG字样之后)加入如下语句:         
        LRESULT    OnHotKey(WPARAM    wParam,LPARAM    lParam);         
      2.    消息与相应处理函数相关联         
        在.Cpp中加入消息映射宏,使消息与相应处理函数发生关系,     
                    ON_MESSAGE(WM_HOTKEY,OnHotKey);         
      3.    为方便以后的操作   
             预先在类中创建一个响应WM_CREATE和WM_DESTROY消息的函数     
                    OnCreate()与OnDestroy()的框架 
      4.向系统登记热键         
        在OnCreate()函数中加入如下代码以向系统登记热键,本例子的热键设为     
                    Ctrl+Shift+A.         
        RegisterHotKey(m_hWnd,1001,MOD_CONTROL ¦MOD_SHIFT,'A');         
        RegisterHotKey(m_hWnd,1002,MOD_CONTROL ¦MOD_SHIFT,'a');         
        5.处理热键         
        在消息处理函数OnHotKey()中对热键进行处理,并可加入用户希望运行的程序代码     
        LRESULT  C****::OnHotKey(WPARAM    wParam,LPARAM    lParam)         
        if(wParam==1001 ¦ ¦wParam==1002)         
        CWnd::SetForegroundWindow();//使得被激活窗口出现在前景         
        MessageBox("Hello!");         
                      //用户可在此添加代码         
        return    0;         
        6.程序运行完毕后解除热键         
        在OnDestroy()中通过UnRegisterHotKey()解除热键登记,释放系统资源.         
        UnRegisterHotKey(m_hWnd,1001);         
        UnRegisterHotKey(m_hWnd,1002);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cnzdgs
    • 等级:
    发表于:2008-04-01 15:49:244楼 得分:10
    窗口初始化时执行
    RegisterHotKey(m_hWnd, 1, MOD_CONTROL ¦ MOD_ALT, 'F');
    响应WM_HOTKEY消息。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 16:27:365楼 得分:0
    可以设置键盘钩子。很多热键功能都是如此。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved