簡體   English   中英

為什么 keybd_event 不能與“Shift Key”一起正常工作?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM