MakeKeyLparam 的简化

原创 2014年09月12日 19:23:42

1 . MakeKeyLparam 是个函数.

2.  MakeKeyLparam 用于构造 消息的 LPARAM

3.  MakeKeyLparam 来自VB ?

4. MakeKeyLparam  的简化:

int MakeKeyLparam(/* int VirtualKey ,*/ int flag)
{
    UINT sCode;
//Firstbyte ; lparam 参数的 24-31位
UINT Firstbyte;
    switch (flag)
    {
      case WM_KEYDOWN:    Firstbyte = 0;   break;
      case WM_KEYUP:      Firstbyte = 0xC0;break;
      case WM_CHAR:       Firstbyte = 0x20;break;
      case WM_SYSKEYDOWN: Firstbyte = 0x20;break;
      case WM_SYSKEYUP:   Firstbyte = 0xE0;break;
      case WM_SYSCHAR:    Firstbyte = 0xE0;break;
    }
// 键的扫描码; lparam 参数 的 16-23位
// 16–23 Specifies the scan code. 
// UINT iKey = MapVirtualKey(VirtualKey, 0);
// 1为 lparam 参数的 0-15位,即发送次数
// 0–15 Specifies the repeat count for the current message. 
    sCode = (Firstbyte << 24) +1;// + (iKey << 16) + 1; 
    return sCode;
}

5. MakeKeyLparam 的使用“

发送alt+f 到 notepad:

::PostMessage(hwnd, WM_SYSKEYDOWN, VK_MENU, MakeKeyLparam(WM_SYSKEYDOWN));
::PostMessage(hwnd, WM_SYSKEYDOWN, 'F', MakeKeyLparam(WM_SYSKEYDOWN));
::PostMessage(hwnd, WM_CHAR, 'F', MakeKeyLparam(WM_CHAR));
::PostMessage(hwnd, WM_SYSKEYUP, 'F', MakeKeyLparam(WM_SYSKEYUP));
::PostMessage(hwnd, WM_KEYUP, VK_MENU, MakeKeyLparam(WM_KEYUP));

//

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

VC使用API和发送键盘消息模拟键盘(组合键)消息

Windows大行其道的今天,其界面的操作方式早已被广大用户认可。Windows应用程序大多数都是基于窗体的程序,在大多数情况下,这些程序接收用户输入分为两种:键盘输入和鼠标输入。有时,对于繁杂的,或...

VC MFC 发送模仿键盘消息!

VC MFC 发送模仿键盘消息! 1.单键消息 if(QCWnd->GetSafeHwnd()) { QCWnd->ShowWindow(SW_NORMAL); QCWnd->Se...

mfc编程的时候,你需要让程序模拟按下键盘的时候

mfc编程的时候,你需要让程序模拟按下键盘的时候。。。。 比如今天我编俄罗斯方块,想让方块自动下落,但是那个下落的参数含有DC,在定时器里不好调用,所以我就想能不能模拟按键的按下啊 于是,我找到了...

模拟键盘按键

原文地址:http://www.cnblogs.com/Jnshushi99/archive/2011/09/03.html 以前就想过如何模拟键盘按键向其他程序发送控制命令,但总是...

向指定窗口发送模拟键盘按键消息

//根据窗口标题找到对应窗口的句柄 HWND hq = FindWindow(NULL, title); if (hq != NULL) { cout << "找到对应窗口"; } else { ...

VC++ 获取窗体句柄,并发送键盘消息

当我们想得到一个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数,通过下面的例子来看其理由: CWnd   *pwnd   =   Fin...

MFC 组合键的实现

VC响应键盘事件(组合键) 收藏 如何在vc中添加键盘响应事件1.         ClassView中Add Windows Message Handle 添加WM-KEYDOWN和WM-KEYUP...

MFC 对话框Dialog响应键盘事件(组合键Ctrl+A)

在上一篇文章的基础上,这里描述如何捕获组合键,这里以Ctrl+A为例 做法就是按下Ctrl的时候用一个静态成员变量保存Ctrl是否被按下,当Ctrl按下的时候设置为true;当Ctrl键抬起的时候设...

Smo算法简化版java代码

  • 2017-07-04 10:56
  • 16KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)