C# 怎么后台发送组合键ctrl
网上说了好多好像都不可以、现在不发送系统按键都没有问题了!就是系统组合键这里不可以。请问怎么实现发送 Ctrl + w 呢
现在的代码如下。应该怎么改才可以?
现在的代码如下。应该怎么改才可以?
private static int MakeKeyLparam(byte VirtualKey, bool KeyDown) {
String Firstbyte="";
//lparam参数的24-31位
if (KeyDown == true){
Firstbyte = "00";
}else{
int First = 12 * 16;
Firstbyte = First.ToString();
}
int Scancode=0;//获得键的扫描码
Scancode = MapVirtualKey(VirtualKey, 0);
String Secondbyte="";//lparam参数的16-23位,即虚拟键扫描码
String Temp="00"+Scancode.ToString();
Secondbyte=Temp.Substring(Temp.Length-2,2);
String s = Firstbyte+Secondbyte+"0001"; //0001为lparam参数的0-15位,即发送次数和其它扩展信息
int Back=0;
int.TryParse(s,out Back);
return Back;
}
/// <summary>
/// 按键
/// </summary>
/// <param name=”hWnd”>按键窗口句柄</param>
/// /// <param name=”key”>按键</param>
public static void KeyDown(IntPtr hWnd, Keys key)
{ //MyAlert.Alert(MakeKeyLparam((byte)key, true));
PostMessage(hWnd, WM_KEYDOWN, (IntPtr)key, (IntPtr)MakeKeyLparam((byte)key, true));
System.Threading.Thread.Sleep(100);
PostMessage(hWnd, WM_KEYUP, (IntPtr)key, (IntPtr)MakeKeyLparam((byte)key, false));
}
...全文
相关推荐
C#发送消息方法详解[代码]
本文详细介绍了C#中三种发送消息的方法:SendKeys、SendMessage和keybd_event的用法。SendKeys方法用于模拟键盘输入,支持发送单个字符、组合键及特殊键,如Enter、Tab等。keybd_event方法通过调用Windows API实现键盘事件的模拟,包括按键按下和弹起的操作,适用于更底层的键盘控制。文章通过具体代码示例展示了如何发送字母、字符串、组合键(如Ctrl+C)以及特殊键的操作,为开发者提供了实用的技术参考。
C#版仿网吧挂机锁
用C#所写的仿网吧的挂机锁,不过,有BUG,能alt+f4,alt+ctrl+delete退出程序,有知道如何解决的,麻烦告知一声哦
c#鼠标自动点击器源代码
c#鼠标自动点击器 注册系统热键 源代码
企业微信邮箱发送功能(带附件)
实现了企业微信邮箱发送功能。操作简单,模块化的工具。
windows下c# 屏蔽系统atrl+alt+delete组合键
基于c#的屏蔽系统按键,使用于锁屏,广播等控制类软件,win10,win7下同样适用,


