用C#程序实现键盘和鼠标的模拟

C#实现键盘鼠标模拟器 /MOUSEEVENTF_WHEEL:在Windows NT中如果鼠标有一个轮,表明鼠标轮被移动。//MOUSEEVENTF_LEFTDOWN:表明接按下鼠标左键。//MOUSEEVENTF_RIGHTDOWN:表明按下鼠标右键。 C#实现键盘鼠标模拟器 阅读详情

using System;
using System.Runtime.InteropServices;
using System.Text;

namespace ConsoleApplication8{
class Class1{
[STAThread]
static void Main(string[] args){
// Display current status of keys.
Console.WriteLine(
"**BEFORE**/r/nCAP: {0}/r/nSCR: {1}/r/nNUM: {2}",
Keyboard.GetState(VirtualKeys.VK_CAPITAL)?"ON":"OFF",
Keyboard.GetState(VirtualKeys.VK_SCROLL)?"ON":"OFF",
Keyboard.GetState(VirtualKeys.VK_NUMLOCK)?"ON":"OFF"
);
// Toggle all the keys:
Keyboard.SetState(
VirtualKeys.VK_CAPITAL,
!Keyboard.GetState(VirtualKeys.VK_CAPITAL)
);
Keyboard.SetState(
VirtualKeys.VK_SCROLL,
!Keyboard.GetState(VirtualKeys.VK_SCROLL)
);
Keyboard.SetState(
VirtualKeys.VK_NUMLOCK,
!Keyboard.GetState(VirtualKeys.VK_NUMLOCK)
);
// Display new status of keys.
Console.WriteLine(
"/r/n**AFTER**/r/nCAP: {0}/r/nSCR: {1}/r/nNUM: {2}",
Keyboard.GetState(VirtualKeys.VK_CAPITAL)?"ON":"OFF",
Keyboard.GetState(VirtualKeys.VK_SCROLL)?"ON":"OFF",
Keyboard.GetState(VirtualKeys.VK_NUMLOCK)?"ON":"OFF"
);
Console.ReadLine();
}
}
public enum VirtualKeys: byte{
VK_NUMLOCK = 0x90,
VK_SCROLL = 0x91,
VK_CAPITAL = 0x14
}
class Keyboard{
const uint KEYEVENTF_EXTENDEDKEY = 0x1;
const uint KEYEVENTF_KEYUP = 0x2;
[DllImport("user32.dll")]
static extern short GetKeyState(int nVirtKey);
[DllImport("user32.dll")]
static extern void keybd_event(
byte bVk,
byte bScan,
uint dwFlags,
uint dwExtraInfo
);
public static bool GetState(VirtualKeys Key){
return (GetKeyState((int)Key)==1);
}
public static void SetState(VirtualKeys Key, bool State){
if(State!=GetState(Key)){
keybd_event(
(byte)Key,
0x45,
KEYEVENTF_EXTENDEDKEY | 0,
0
);
keybd_event(
(byte)Key,
0x45,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0
);
}
}
}
}

C# 虚拟鼠标和键盘按键(三)【SendInput】 在前面两篇“C# 虚拟键盘按键(一)【SendKeys】”和“C# 虚拟键盘按键(二)【keybd_event】”文章中,我们讲了虚拟键盘按键的方法,它们只能虚拟键盘的按键操作,不能虚拟鼠标。本文介绍的Window API的SendInput函数,不仅能虚拟键盘,而且还能虚拟鼠标,同时微软用它取代了我们第二文章中说的keybd_event方法,所以相对来说功能更加丰富和先进,并且我们也能更多地了解一些键盘和鼠标的结构体和一些Window消息。2.1 下面代码需要用到的引用是: 代码有1000多行看起来比 阅读详情

相关推荐

c#类,封装了键盘,和鼠标模拟,和内存读取

key kk = new key();            //  IntPtr a = new IntPtr();            kk.sendwinio();            kk.MykeyDown((int)key.VirtualKeys.VK_F1);            System.Threading.Thread.Sleep(2000);            k

zhifuwang的专栏 4100

C# 模拟操作鼠标、键盘、输入、输出

C# 模拟操作鼠标、键盘、输入、输出

mybluedesky的博客 5075

C#模拟键盘输入、鼠标移动和点击、设置光标位置及控制应用程序的显示

主要是储备一些知识,防备以后用的时候方便查找资料 C# 模拟鼠标移动与点击 https://www.cnblogs.com/blackice/p/3418414.html 使用C#模拟键盘输入、鼠标移动和点击、设置光标位置及控制应用程序的显示 https://www.cnblogs.com/makesense/p/6215732.html C# 系统应用之鼠标模拟技术及自动操作鼠标 https://www.cnblogs.com/sanler/p/7474473.html ...

u014453443的博客 5251

C#实现QQ客户端自动登录1

using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;using System.Threading;using System.Windows.Forms;namespace QQ2010AutoLogin{publicclass WindowsAP...

weixin_33712881的博客 296

C# 实现按键精灵 记录录制键盘鼠标

非常实用的键盘鼠标脚本录制工具,通过它你可以轻松地进行脚本录制,简单易用,不需要任何编程知识就能做出功能强大的脚本,只要你在电脑前用双手可以完成的动作,都可以替你完成。

绀目澄清 8696

C#后台监控鼠标键盘代码

C#后台监控鼠标键盘代码,在2013调测通过。

C#模拟鼠标和键盘操作

本文旨在自己动手实现一个类似于“按键精灵”的桌面软件。第一部分介绍了简单的模拟方式,但是有些软件能够屏蔽掉这种简单模拟带来的效果,因此第二部分将介绍如何从驱动级层面进行模拟。“游戏外挂一般分为三个级别:初级是鼠标、键盘模拟,中级是Call游戏内部函数,读写内存,高级是抓包,封包的“脱机挂”(完全模拟客户端网络数据,不用运行游戏)。用C#写外挂的不是很多,大部分是C++,主要原因是MS的C#目前不支...

FanJin的博客 2万+

C# 模拟键盘后台按键、模拟鼠标移动及左右键点击

模拟键盘后台操作进行按键 ; 操控鼠标点击固定坐标,可定时点击,暂不支持组合键; 操控鼠标移动,左右键点击; .net core 3.1 环境,c# ,core环境分x86,x64版本; 开发场景为wow的autoFish等; 内附使用说明

C#模拟鼠标键盘控制其他程序窗口控件

公司用的其他公司软件,每天处理数据都需要自己手动去点击BUTTON来处理数据,而且还要不定时的点处理,感觉非常的麻烦。最近自己就写了一个的软件去控制人家的软件的控件,达到在设定的时间对数据进行自动处理,剩去了很多麻烦。但人家的软件没有提供接口自己到处查资料最后就用了这种方法:  抓取句柄推荐工具(SPY++ Lite)         现总结如下: 首先,引入如下三个

7871

Unity 接入HybridCLR的点点滴滴,亲测三平台(PC、Android、WebGL)妥妥的。-问题分享

一入热更深似海啊,没有热更是真恼火啊,干啥啥不方便,动不动就得重新发包;说实在的,也是工作之余研究这个,在原有框架基础上接入这个热更,既要保持原有功能,还要支持热更,实实在在、断断续续搞了这么久,终于是接入并测通了,这一路是坎坎坷坷,下面把走过的弯弯绕绕记录下,希望对后来想接入的小伙伴有帮助吧。

GarFe的博客 1万+

基于ESP32的无线DMX节点设计:从Art-Net/sACN到DMX512的协议转换与实现

在舞台灯光和建筑照明控制系统中,DMX512是行业标准的数字调光协议,用于控制灯具的亮度、颜色和效果。其原理是通过RS-485差分信号串行传输512个通道的数据,每个通道对应一个控制值。然而,传统有线DMX布线复杂、成本高,在移动装置、历史建筑或临时活动中部署困难。为解决此问题,业界发展出了基于以太网的灯光控制协议,如Art-Net和sACN(E1.31),它们将DMX数据封装在UDP包中,通过网络传输。这项技术的核心价值在于实现了灯光控制的网络化与无线化,大幅提升了系统的灵活性和部署效率。其典型应用场景包

weixin_30175731的博客 227

c#模拟鼠标键盘操作

一个简单的模拟键盘鼠标操作的类,扩充 VirtualKeys 枚举就可以了,或者直接写!using System;using System.Runtime.InteropServices;using System.Text;class Keyboard   {      const uint KEYEVENTF_EXTENDEDKEY = 0x1;      const uint KEYEVE

FallingStar学习日记 6680

大彩串口屏+LUA避坑指南:从Flash读写到控件状态配置的5个常见问题

本文针对大彩串口屏的LUA脚本开发,深度剖析了Flash数据存储与控件状态配置中的5个常见陷阱。重点讲解了如何通过标志位安全初始化Flash、正确处理多字节数据转换,以及如何精准配置按钮与文本控件的状态与事件响应,帮助开发者提升开发效率与代码可靠性。

weixin_27945229的博客 241

代码控制鼠标光标移动并点击和代码模拟键盘按下(C#)

想要在'触发键盘按下'按钮(名为btnPress)触发自动按钮逻辑,就得通过PointToScreen把控件的坐标转换为计算机桌面的坐标(以前做Unity 3D的时候经常看到这种骚操作),然后把转换后的坐标作为鼠标光标的位置,最后通过模拟鼠标左键按下和抬起,一定要鼠标按下和抬起一起使用才有效,因为鼠标按下和抬起同时完成才算实现鼠标按下的逻辑。演示效果3: 点击按钮,然后控制鼠标光标移动到演示效果1中的那个按钮的位置上,并实现点击,接着就会看到效果1中的效果(模拟键盘输入,把输入的内容显示到文本框上)

zxy13826134783的博客 5322

C#集成Bartender:动态图片标签打印的实战与优化

本文详细介绍了在C#程序中集成Bartender实现动态图片标签打印的实战方法与优化策略。通过具名数据源绑定、图片对象尺寸控制等核心技巧,解决了动态图片显示/隐藏的难题,并提供了从模板设计、代码架构到性能优化、错误处理的全流程指南,帮助开发者构建稳定高效的工业级标签打印系统。

weixin_29216957的博客 431

Windows系统下AutoDock 4.2.6安装避坑指南(附MGLTools配置技巧)

本文详细介绍了在Windows系统下安装和配置AutoDock 4.2.6的完整流程,特别针对分子对接研究中常见的软件安装问题提供了解决方案。从环境准备、分步安装到常见报错处理,涵盖MGLTools配置技巧、工作目录设置和环境变量优化,帮助科研人员快速搭建稳定的分子对接平台。

weixin_29234239的博客 313

C# 远程鼠标键盘控制

例子比较简单,讲道理其实一分钟就应该做好的,但是我却做了一周。原因也很扯淡,遇到了两个问题。 1、鼠标传递过去,位置变化极小。 2、键盘传递过去,按一次变成了按两次。 昨天看了一天,解决了,解决原因是:重新编译+重启了电脑。 心态崩了 为啥心态崩了呢,因为重新编译+重启了电脑,我试了很多次,但是只有昨天成功了。之后也都一直成功。所以到底为啥之前就不行呢,不知道。简而言之,要么是我抽...

蜜汁程序员的博客 3174

DNS入侵检测 datacon2020

DNS入侵检测 datacon2020。

weixin_51491521的博客 522

C#模拟鼠标、键盘操作

C语言 在程序中打开网页,模拟鼠标点击、键盘输入 一、简述 记--使用C语言 打开指定网页,并模拟鼠标点击、键盘输入。实现半自动填写账号密码,并登录网站(当然现在的大部分网站都有验证码,或有检测"非人为"操作,以防止恶意注册、登录)。 例子打包:链接: https://pan.baidu.com/s/1eStV0lAcmr8kmEA0n3LRcg 提取码: 7kvj 二、效果 (程序填写账号密码,实现半自动登录) 三、工程结构 四、源文件 ...

biyusr的专栏 2690

使用C# HslCommunication库实现三菱PLC通信(含完整代码示例)

在工业自动化开发中,上位机与PLC的通信是关键环节。HslCommunication库是一个开源的.NET工业通信库,支持三菱、西门子、欧姆龙等多个品牌PLC的通信协议。本文将演示如何通过库实现C#程序与三菱PLC的通信,并提供完整的代码示例。

StevenChen的博客 2287

超声相控阵合成孔径成像FPGA设计介绍

1.仿真预览 2.理论分析 系统的基本结构如下所示: 以上是实际中完整的结构,系统中会涉及到两块板子中的时钟,这个就是设计一个时钟采样同步的问题,即所谓的时钟同步。一般这种情况,往往使用内插的方式来解决。这是由于,在实际中,超生波接收到的信号是由本身系统发送出去反射回来得到的,因此从另外一方面将,其是同步的。但是在接收的时候通过内插的方法解决其中的延迟问题。 根据论文中的介绍,整个系统分为如下几个部分: ·模拟发送信号,这个部分由MATLAB产生测试数据并量...

FPGA/MATLAB学习教程/源码/项目合作开发 2069

C# 键盘鼠标模拟

1.模拟键盘事件System.Windows.Forms.SendKeys以下是   SendKeys   的一些特殊键代码表。     键   代码       BACKSPACE   {BACKSPACE}、{BS}   或   {BKSP}       BREAK   {BREAK}       CAPS   LOCK   {CAPSLOCK}       DEL   或   DELETE

a237428367的专栏 1142

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 关于南京市软件行业协会程序员分会(筹)吸收第一期正式会员(兼工作人员)的通知]
下一篇: 充分利用 .NET 框架的 PropertyGrid 控件
大雨仔
博客等级 码龄23年 28粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值