键盘右上角的灯亮不亮的问题啊 键盘右上角的灯亮不亮的检测。(完整些) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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 ); } } } } 前两天刚看到的代码,利用 user32.dll 模拟键盘操作! 朋友你的是:C#控制台应用程序吧,谢谢。很不错啊!有没有c#.net winform的程序啊. 能实现了啊,谢谢!不过谁能帮我解释一下 [DllImport("user32.dll")] const uint KEYEVENTF_EXTENDEDKEY = 0x1; 等等。类API的使用方法啊 storyboard创建动画问题 子窗体中pdf控件无法在父窗体中显示 在C#中如何利用Process类执行一组控制台命令? vs2008打包后, 安装工程中 自动注册一个dll文件,如何实现! 在打包是需要多做什么工作 如何快速批量分析大量网址的链接速度? 关于从数据库image字段存取任何格式文件的问题(急) 我的VS.net怎么装不上去呀 无效的表达式项“=>” ,无法使用 lamdba 表空间的介绍 如何生成多条xml记录? 怎么从服务器下载大文件?(在线等) 急求一份关于操作ftp文件的源码?
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#.net winform的程序啊.
[DllImport("user32.dll")]
const uint KEYEVENTF_EXTENDEDKEY = 0x1;
等等。类API的使用方法啊