winform 中 区分左右Alt

edcwsx_123 2014-02-11 01:14:52
[DllImport("user32.dll")]
static extern short GetKeyState(int nVirtKey);
public static bool GetState(VirtualKeys Key)
{
return ((GetKeyState((int)Key) & 0x8000) != 0) ? true : false;
}
都试过了 来详细的
...全文
170 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
edcwsx_123 2014-02-11
  • 打赏
  • 举报
回复
[align=center]谢谢1楼的 public enum VirtualKeys : byte { VK_ALT = Keys.RMenu,//18,//右ALT } 我用keybd_event执行了右alt 在KeyUp中执行了Keys.LMenu public static void SetAltMartial(VirtualKeys Key) { keybd_event((byte)Key, 0, 0, 0);//按下右lat keybd_event((byte)Key, 0, 2, 0); //放开右Alt鍵 }
BenBenBears 2014-02-11
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-SG/library/ms646301 CTRL, or ALT keys without distinguishing between left and right. 官网上面注明了:CTRL或ALT键没有区分左和右。 你可以用MapVirtualKey获取左右Alt的硬件扫描码对比一下。
edcwsx_123 2014-02-11
  • 打赏
  • 举报
回复
普国同庆之际,请别忘了结贴。[/quote] ok了
BenBenBears 2014-02-11
  • 打赏
  • 举报
回复
引用 3 楼 edcwsx_123 的回复:
我用keybd_event执行了右alt 在KeyUp中执行了Keys.LMenu
普国同庆之际,请别忘了结贴。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧