[英]Why keybd_event doesn't work properly with "Shift Key"?
(DX11游戲)
我正在嘗試重新創建我在 AHK 中制作的這段代碼:
while GetKeyState("v")
{
Send, {x Down}
Sleep, 1
Send, {shift}
Sleep, 1
Send, {e}
Send, {x Up}
}
return
在 C++ 中
if (GetAsyncKeyState(0x56) & 0x8000)
{
keybd_event(0x58, 0, 0, 0);
Sleep(1);
keybd_event(0xA0, 0, 0, 0);
keybd_event(0xA0, 0, KEYEVENTF_KEYUP, 0);
Sleep(1);
keybd_event(0x45, 0, 0, 0);
keybd_event(0x45, 0, KEYEVENTF_KEYUP, 0);
keybd_event(0x58, 0, KEYEVENTF_KEYUP, 0);
}
然而Shift鍵不起作用。
難道我做錯了什么?
if (GetAsyncKeyState(0x56) & 0x8000)
{
keybd_event(0x58, 42, KEYEVENTF_EXTENDEDKEY | 0, 0);
Sleep(50);
keybd_event(VK_LSHIFT, 42, KEYEVENTF_EXTENDEDKEY | 0, 0);
keybd_event(VK_LSHIFT, 42, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
Sleep(50);
keybd_event(0x45, 42, KEYEVENTF_EXTENDEDKEY | 0, 0);
keybd_event(0x45, 42, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
keybd_event(0x58, 42, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
}
修復了問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.