我試圖用Windows API
:SendInput()
彈出菜單,但每次都完全失敗。無法使用C中的「SendInput()」與GCC/Mingw32編譯器發送虛擬鍵「Alt + Space」?
#include <windows.h>
int main (void)
{
INPUT Alt_Space[4] = {0};
Alt_Space[0].type = INPUT_KEYBOARD; // Alt Key down
Alt_Space[0].ki.wVk = VK_MENU;
Alt_Space[1].type = INPUT_KEYBOARD; // Space Key down
Alt_Space[1].ki.wVk = VK_SPACE;
Alt_Space[2].type = INPUT_KEYBOARD; // Space Key up
Alt_Space[2].ki.dwFlags = KEYEVENTF_KEYUP;
Alt_Space[2].ki.wVk = VK_SPACE;
Alt_Space[3].type = INPUT_KEYBOARD; // Alt Key up
Alt_Space[3].ki.dwFlags = KEYEVENTF_KEYUP;
Alt_Space[3].ki.wVk = VK_MENU;
SendInput (4, Alt_Space, sizeof(INPUT));
system ("pause");
}
有誰知道爲什麼這段代碼無法彈出菜單?謝謝。
編譯命令:
mingw32-gcc.exe -O3 -c "Console.c" -o "Console.o"
mingw32-gcc.exe -o "Console.exe" "Console.o"
不缺少簡單的解釋。 CTRL鍵關閉時不起作用。您的程序在將密鑰發送到自身後再終止一個毫秒,再見菜單。 –
@Hans Passant我編輯了我的代碼,但仍然失敗。 –
我可以想出更多的理由,但這是毫無意義的。這段代碼應該做什麼?爲什麼用戶需要幫助訪問控制檯窗口的系統菜單?他已經知道如何做到這一點。 –