【发布时间】:2012-07-11 10:14:21
【问题描述】:
很有趣。几分钟前我刚刚在这里问过SendInput() for keyboard - only lowercase,如何发送大写字母。解决方案是在信件之前发送班次。但是打开shift之后就关不掉了……
我正在努力使用这样的 KEYEVENTF_KEYUP 标志:
INPUT Input = { 0 };
Input.type = INPUT_KEYBOARD;
Input.mi.dwFlags = KEYEVENTF_EXTENDEDKEY;
Input.ki.wVk = VK_LSHIFT;
SendInput( 1, &Input, sizeof( INPUT ) );
Input.type = INPUT_KEYBOARD;
Input.mi.dwFlags = KEYEVENTF_EXTENDEDKEY;
Input.ki.wVk = 'A';
SendInput( 1, &Input, sizeof( INPUT ) );
Input.type = INPUT_KEYBOARD;
Input.mi.dwFlags = KEYEVENTF_KEYUP | KEYEVENTF_EXTENDEDKEY;
Input.ki.wVk = VK_LSHIFT;
SendInput( 1, &Input, sizeof( INPUT ) );
Input.type = INPUT_KEYBOARD;
Input.mi.dwFlags = KEYEVENTF_EXTENDEDKEY;
Input.ki.wVk = 'A';
SendInput( 1, &Input, sizeof( INPUT ) );
但它似乎根本不起作用。它总是发送 AA。
谢谢。
【问题讨论】:
-
左移键不是 KEYEVENTF_EXTENDEDKEY。 A也不是。
-
此外,您向
A发送了两次“down”。