I am looking for a way to convert a string value into an equivalent element of System.Windows.Forms.Keys . This value will then be used with PressKey to simulate the corresponding key. I tried using KeyConverter as follows:
[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);
I need a string like "Enter" to convert to System.Windows.Forms.Keys.Enter . But KeyConverter nothing. Any thoughts?
source share