C#中调用user32.dll库的keybd_Event函数,操作键盘

时间:2023-02-23 09:57:45

keybd_event()的函数原型是:

void keybd_event(

byte bVk,          //虚拟键码

byte bScan,       //该键的硬件扫描码

dword dwFlags   //函数操作的各个方面的一个标志位集

dword dwExtraInfo  //与击键相关的附加的32位值

);

其中第三个参数有三种取值:

· 0:按下

· 1:扩展键

· 2:弹起

keybd_event(0x41, 0x1e, 0x0000, 0);   // 按下 a
keybd_event(0x41, 0x1e, 0x0002, 0); // 弹起 a
keybd_event(0x42, 0x30, 0x0000, 0); // 按下 b
keybd_event(0x42, 0x30, 0x0002, 0); // 弹起 b
keybd_event(0x43, 0x2e, 0x0000, 0); // 按下 c
keybd_event(0x43, 0x2e, 0x0002, 0); // 弹起 c
keybd_event(0x43, 0x2e, 0x0000, 0); // 按下 c
keybd_event(0x43, 0x2e, 0x0002, 0); // 弹起 c

  

C#中调用user32.dll库的keybd_Event函数,操作键盘的更多相关文章

  1. Native Application 开发详解(直接在程序中调用 ntdll.dll 中的 Native API,有内存小、速度快、安全、API丰富等8大优点)

    文章目录:                   1. 引子: 2. Native Application Demo 展示: 3. Native Application 简介: 4. Native Ap ...

  2. JNI_Android项目中调用.so动态库

    JNI_Android项目中调用.so动态库 2014年6月3日 JNI学习 參考:http://blog.sina.com.cn/s/blog_4298002e01013zk8.html 上一篇笔者 ...

  3. SOE 中调用第三方dll

    一.简介 在利用soe实现server的扩展的时候,有些时候,需要调用第三方的dll库.官网中给出了明确的说明,soe中是可以添加第三方的dll文件,但是一直没有测试.按照官方的步骤应该是一个非常的简 ...

  4. CVI中调用VC动态库

    1.在VC环境中建立新工程,创建32位动态库(Win32 Dynamic-Link Library)  -> A simple DLL project 2.在工程中可加入别的动态库,在工程菜单中 ...

  5. 在.net中调用Delphi dll的Pchar转换

    Pchar是非托管代码,要在.net中调用Delphi dll中的功能,请使用MarshalAs属性告知.net调用PInvoke去转换.net中标准的string类型.如果Delphi dll是De ...

  6. 在SQL Server 2008中调用.net,dll

    原文:在SQL Server 2008中调用.net,dll T-SQL的在执行普通的查询的时候是很高效的,但是在执行循环,判断这样的语句的时候效率就不那么的高了.这时可以借助CLR了,我们可以在SQ ...

  7. 使用ctypes在Python中调用C++动态库

    使用ctypes在Python中调用C++动态库 入门操作 使用ctypes库可以直接调用C语言编写的动态库,而如果是调用C++编写的动态库,需要使用extern关键字对动态库的函数进行声明: #in ...

  8. Oracle数据库中调用Java类开发存储过程、函数的方法

    Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日  浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL, ...

  9. C#中调用unmanaged DLL

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

随机推荐

  1. .Net 转战 Android 4.4 日常笔记(6)--Android Studio DDMS用法

    Android Studio DDMS与Eclipse DDMS大同小异,下面了解DDMS的使用 DDMS(Dalvik Debug Monitor Service )Dalvik调试监控服务 DDM ...

  2. asp.net MVC 过滤器使用案例:统一处理异常顺道精简代码

    重构的乐趣在于精简代码,模块化设计,解耦功能……而对异常处理的重构则刚好满足上述三个方面,下面是我的一点小心得. 一.相关的学习 在文章<精简自己20%的代码>中,讨论了异常的统一处理,并 ...

  3. VC6&period;0中重载操作符函数无法访问类的私有成员

    整理日: 2015年03月18日 在 C++ 中,操作符(运算符)可以被重载以改写其实际操作.同时我们可以定义一个函数为类的朋友函数(friend function)以便使得这个函数能够访问类的私有成 ...

  4. 简述private,protected&comma;public,internal修饰符的访问权限

    private:私有成员,在类的内部才可以访问 protected:保护成员,在类的内部和继承类中可以访问 public:公共成员,完全公开,没有访问限制 internal:当前程序集内可以访问

  5. list源码3&lpar;参考STL源码--侯捷&rpar;:push&lowbar;front、push&lowbar;back、erase、pop&lowbar;front、pop&lowbar;back、clear、remove、unique

    list源码1(参考STL源码--侯捷):list节点.迭代器.数据结构 list源码2(参考STL源码--侯捷):constructor.push_back.insert list源码3(参考STL ...

  6. 理解Vuex的辅助函数mapState&comma; mapActions&comma; mapMutations用法

    在讲解这些属性之前,假如我们项目的目录的结构如下: ### 目录结构如下: demo1 # 工程名 | |--- dist # 打包后生成的目录文件 | |--- node_modules # 所有的 ...

  7. Java 对象的序列化和反序列化

    先创建一个实现了Serializable接口的对象 import java.io.Serializable; /** * 可序列化Person对象. * @author Ramer * Sep 18, ...

  8. ubuntu 开机自动挂在windows下的分区

    最近装了Ubuntu14.04 + windows7 的双系统,启动Ubuntu的时候,不会自动挂载win7的分区,只有我点击相应的硬盘符号时才会挂载/media下面.本着折腾到底的原则,在网上搜了搜 ...

  9. Struts2实现input数据回显

    /** 修改页面 */    public String editUI() {        //准备回显得数据        Role role = roleService.getById(id); ...

  10. J&ZeroWidthSpace;a&ZeroWidthSpace;y&ZeroWidthSpace;r&ZeroWidthSpace;o&ZeroWidthSpace;c&ZeroWidthSpace;k&ZeroWidthSpace;&period;&ZeroWidthSpace;J&ZeroWidthSpace;s&ZeroWidthSpace;o&ZeroWidthSpace;n&ZeroWidthSpace;读&ZeroWidthSpace;取&ZeroWidthSpace;j&ZeroWidthSpace;s&ZeroWidthSpace;o&ZeroWidthSpace;n&ZeroWidthSpace;数&ZeroWidthSpace;据&ZeroWidthSpace;&lpar;&ZeroWidthSpace;n&ZeroWidthSpace;e&ZeroWidthSpace;t&ZeroWidthSpace;&rpar;

    1 : 首 先 下 载 Jayrock.Json.dll 文 件 , 放 入 bin 目 录 中 : 地 址 : http://www.filediag.com/down/Jayrock.Json.d ...