C# 怎么后台发送组合键ctrl

love_zhao311 love_zhao311 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
网上说了好多好像都不可以、现在不发送系统按键都没有问题了!就是系统组合键这里不可以。请问怎么实现发送 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));       
}
...全文

相关推荐

评论 12
收藏 已收藏
分享
返回顶部
love_zhao311
C# 111,129 成员 642,538 内容