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

原创 2004年09月23日 15:23:00

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# 模拟键盘 和 鼠标

在coding team学了三个月,每天真是煎熬呀,现在觉得
  • LeslieChao1987
  • LeslieChao1987
  • 2014年04月23日 17:56
  • 1244

C#模拟鼠标操作

游戏程序的操作不外乎两种——键盘输入控制和鼠标输入控制,几乎所有游戏中都使用鼠标来改变角色的位置和方向,本文主要是讲述如何使用C#调用Windows API函数实现鼠标模拟操作的功能.首先通过结合Fi...
  • BlackSmart
  • BlackSmart
  • 2016年09月28日 11:44
  • 3935

用程序模拟键盘和鼠标键盘

在Windows大行其道的今天,windows界面程序受到广大用户的欢迎。对这些程序的操作不外乎两种,键盘输入控制和鼠标输入控制。有时,对于繁杂的,或重复性的操作,我们能否通过编制程序来代替手工输入,...
  • jslamb
  • jslamb
  • 2005年12月01日 20:19
  • 632

Android系统模拟鼠标键盘详解

转自:http://blog.sina.com.cn/s/blog_602f87700102uz8j.html在Android系统下模拟鼠标键盘等输入设备,网络上资料非常多。但不少是人云亦云,甚至测试...
  • feiniao8651
  • feiniao8651
  • 2017年05月23日 20:42
  • 1055

C# 模拟 鼠标 键盘操作

https://m.oschina.net/blog/198175 一.封装一个Io_Api 类 using System; using System.Collections.Gene...
  • u011981242
  • u011981242
  • 2016年05月20日 10:12
  • 1346

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

using System;using System.Runtime.InteropServices;using System.Text;namespace ConsoleApplication8{cl...
  • stdotleo
  • stdotleo
  • 2004年10月02日 01:49
  • 873

C语言 模拟键盘、鼠标事例

#include #include #include /* 本程序实现自动搜索功能,首先是使用 ShellExecuteA() 打开浏览器,然后用键盘输入 (调用search())keybd_eve...
  • liuguangsh
  • liuguangsh
  • 2016年02月15日 13:48
  • 2475

MFC模拟鼠标键盘程序

  • 2011年12月07日 19:32
  • 1.84MB
  • 下载

C#钩子类 几乎捕获键盘鼠标所有事件

using System;  using System.Text;  using System.Runtime.InteropServices;  using System.Reflection;  ...
  • MYsce
  • MYsce
  • 2017年06月03日 19:47
  • 290

C# SendInput 实现模拟鼠标操作

首先看下 Win API 中SendInput函数描述: UINT WINAPI SendInput(   __in  UINT nInputs,   __in  LPINPUT pInpu...
  • htsnoopy
  • htsnoopy
  • 2011年12月12日 11:18
  • 3508
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用C#程序实现键盘和鼠标的模拟
举报原因:
原因补充:

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