SendKey.Send() Not working SendKey.Send() Not working wpf wpf

SendKey.Send() Not working


You can use WinAPI instead of SendKeys:

[DllImport("user32.dll", SetLastError = true)]static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);public static void PressKey(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);    }}void TestProc() {    PressKey(Keys.ControlKey, false);    PressKey(Keys.P, false);    PressKey(Keys.P, true);    PressKey(Keys.ControlKey, true);}


In WPF applications you have to use SendKeys.SendWait() (English Documentation) instead.

Just doublechecked it, while Send() is working for WinForms application, WPF throws an InvalidOperationException although both target .net 4.0.

Check above link for more information.