我正在寻找一种将 a 的值转换为string
等效System.Windows.Forms.Keys
项的方法。然后这个值会被用来PressKey
模拟对应的Key。我尝试使用KeyConverter
这样的:
[DllImport("user32.dll", SetLastError = true)]
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);
public static void PressKey(System.Windows.Forms.Keys key, bool up)
{
const int KEYEVENTF_EXTENDEDKEY = 0x1;
const int KEYEVENTF_KEYUP = 0x2;
if (up)
{
keybd_event((byte)key, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, (UIntPtr)0);
}
else
{
keybd_event((byte)key, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0);
}
}
KeyConverter kc = new KeyConverter();
PressKey((System.Windows.Forms.Keys)kc.ConvertFromString(string), false);
我需要的是一个string
喜欢"Enter"
转换为System.Windows.Forms.Keys.Enter
. 但是KeyConverter
没有返回任何东西。有什么想法吗?