Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > WIN32 SDK编程拾遗(4)-几个特殊键盘按键的响应
【标  题】:WIN32 SDK编程拾遗(4)-几个特殊键盘按键的响应
【关键字】:WIN32,SDK
【来  源】:http://blog.csdn.net/benfaung/archive/2006/10/15/1335399.aspx

WIN32 SDK编程拾遗(4)-几个特殊键盘按键的响应

Your Ad Here 很郁闷的可视化第一次作业。。。
总共两道题,第一道是响应键盘按键的,第二道是创意小球。原以为第一道是开胃菜,随便写写就交了;第二道才是主菜,颇费了点心思。不料,重头的确 实第一道题。。可能老师低估了同学们的创造性吧,严格按照死板教条规定的题目占的分数多,而创意的题目占的分数少。。唉,郁闷的说。

响应键盘信息,有几个按键比较郁闷:
1,ALT和F10:
这两个是系统键,不能用WM_KEYDOWN和WM_KEYUP来响应。要用WM_SYSKEYDOWN和WM_SYSKEYUP。为什么是系统键?因为这两个都能激活菜单!

2,print screen键:
这个比较生猛。用WM_***消息是搞不定的。
于是用了传说中的钩子,如下实现:

//声明全局变量
HHOOK m_hook;

//然后定义回调函数:
LRESULT CALLBACK keyFunc(int nCode, WPARAM wParam, LPARAM lParam)
{
LRESULT lResult = CallNextHookEx(m_hook, nCode, wParam, lParam);
if (nCode == HC_ACTION)
{
if (wParam == VK_SNAPSHOT)
{
SetDlgItemText(ghText, MAKEINTRESOURCE(IDC_STATIC), "我是Print Screen!");
}
return lResult;
}

//在WM_CREATE里面注册钩子
m_hook = SetWindowsHookEx(WH_KEYBOARD, keyFunc, GetModuleHandle(NULL),GetCurrentThreadId());

//在退出的时候销毁钩子
UnhookWindowsHookEx(m_hook);  
关于C#中for与foreach的性能比较测试:【上一篇】
URL(地址)中的特殊字符:【下一篇】
【相关文章】
  • DirectX SDK October 2006 已经发布,可以免费下载!
  • 告别Win32,你准备好了吗?
  • Learning WTL8.0 Part-1 Win32 vs. ATL Windows Programming
  • SAP BI Java SDK简介(www.mynetweaver.cn)
  • 在win32程序中添加工具栏状态栏
  • WIN32下DELPHI中的多线程【同步2】(五)
  • msys中的/etc/fstat可以mount Win32下的目录
  • WIN32下DELPHI中的多线程【同步1】(四)
  • Windows Media Encode 9简介及SDK
  • 重写五子棋,并新增人工智能部分(VC++ SDK版)
  • 【随机文章】
  • 如何在linux上看windows 上的.chm 文件
  • 制作万能光驱中文启动盘
  • isdn answer1, isdn answer2
  • 如何提高软件的可测试性
  • RCP:设定工具栏图标显示在特定透视图里
  • 关于Freemarker生成静态文件的问题
  • HTML/JavaScript 相关重要链接
  • 让FlashGet帮你修复VCD光盘
  • Flash文字logo生成
  • Foxpro 系统示例
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.