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));

//

模拟键盘按键

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

MakeKeyLparam 的简化

1 . MakeKeyLparam 是个函数. 2.  MakeKeyLparam yy
  • schlafenhamster
  • schlafenhamster
  • 2014年09月12日 19:23
  • 5603

MakeKeyLparam 的简化

1 . MakeKeyLparam 是个函数. 2.  MakeKeyLparam yy
  • schlafenhamster
  • schlafenhamster
  • 2014年09月12日 19:23
  • 5603

简化文件的绝对路径 Simpify Path

在操作系统中,每个文件都有一个绝对路径。并且其最简化的形式是唯一的。对于Unix系列系统,绝对路径是从根路径/开始的,用正斜杠表示。一个句点.表示当前路径,两个句点..表示上一级路径。对于一个路径字符...
  • luckyjoy521
  • luckyjoy521
  • 2014年02月23日 14:37
  • 2259

基于重新划分的三角形网格简化的一种改进算法

周 昆 马小虎 潘志庚 石教英 (浙江大学CAD&CG国家重点实验室 杭州 310027) 摘要 基于重新划分的三角形网格简化方法能自动生成多细节层次模型,它的基本思想是:根据三角形网格的...
  • pizi0475
  • pizi0475
  • 2012年10月01日 08:43
  • 3380

模拟鼠标键盘操作,含硬件模拟技术。[转]

模拟鼠标键盘操作,含硬件模拟技术。 键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作。但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是...
  • alphaxz1
  • alphaxz1
  • 2015年10月22日 11:15
  • 3356

模拟鼠标键盘操作,含硬件模拟技术。

   键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作。但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就有了用程序来代替人们按键的方法...
  • fsc2988877
  • fsc2988877
  • 2007年01月15日 03:08
  • 5011

Linux使用alias来简化命令行输入——20120417

alias(中文称为“别名”)允许使用更加简短的名称来重新定义 Linux 中的 Shell 命令,从而简化命令行的输入。如果经常与 CLI 打交道,那么使用 alias 不仅会节省时间,而且也能提高...
  • jaymade
  • jaymade
  • 2012年04月17日 09:55
  • 1704

简化 Mybatis 开发

使用Mybatis开发过程中经常要花费不少时间在编写XML文件中,这里介绍Mybatis plus来简化开发提示开发速度。 1:IDEA插件mybatis plugin mybatis plugi...
  • q5330796p
  • q5330796p
  • 2017年04月26日 17:33
  • 310

【开源项目】花密(Flower Password)VB版之模拟按键模块

'***************************************************************** ' Copyright (c) 2011-2012 FlowerP...
  • xlsdg
  • xlsdg
  • 2012年04月10日 14:22
  • 482
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MakeKeyLparam 的简化
举报原因:
原因补充:

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