欢迎光临
我们一直在努力

用C#程序实现键盘和鼠标的模拟-.NET教程,C#语言

建站超值云服务器,限时71元/月

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

);

}

}

}

}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用C#程序实现键盘和鼠标的模拟-.NET教程,C#语言
分享到: 更多 (0)

相关推荐

  • 暂无文章