[英]C++ error with INPUT class (Stack around the variable was corrupted.)
我有錯誤“變量'inp1L'周圍的堆棧已損壞。”
這是一段代碼
INPUT inp1L[4];
memset(inp1L, 0, sizeof(INPUT));
inp1L[0].type = INPUT_KEYBOARD;
inp1L[1].type = INPUT_KEYBOARD;
inp1L[2].type = INPUT_KEYBOARD;
inp1L[3].type = INPUT_KEYBOARD;
inp1L[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1L[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1L[2].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1L[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1L[0].ki.wScan = DIK_LEFTARROW;
inp1L[1].ki.wScan = DIK_1;
inp1L[2].ki.wScan = DIK_LEFTARROW;
inp1L[3].ki.wScan = DIK_1;
我將非常感謝您的幫助
更新
完整代碼:
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <dinput.h>
int main()
{
INPUT inp1[2];
memset(inp1, 0, sizeof(INPUT));
inp1[0].type = INPUT_KEYBOARD;
inp1[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1[1] = inp1[0];
inp1[1].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1[0].ki.wScan = inp1[1].ki.wScan = DIK_1;
INPUT inp1L[4];
memset(inp1L, 0, sizeof(INPUT));
inp1L[0].type = INPUT_KEYBOARD;
inp1L[1].type = INPUT_KEYBOARD;
inp1L[2].type = INPUT_KEYBOARD;
inp1L[3].type = INPUT_KEYBOARD;
inp1L[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1L[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1L[2].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1L[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1L[0].ki.wScan = DIK_LEFTARROW;
inp1L[1].ki.wScan = DIK_1;
inp1L[2].ki.wScan = DIK_LEFTARROW;
inp1L[3].ki.wScan = DIK_1;
INPUT inp1LD[6];
memset(inp1LD, 0, sizeof(INPUT));
inp1LD[0].type = INPUT_KEYBOARD;
inp1LD[1].type = INPUT_KEYBOARD;
inp1LD[2].type = INPUT_KEYBOARD;
inp1LD[3].type = INPUT_KEYBOARD;
inp1LD[4].type = INPUT_KEYBOARD;
inp1LD[5].type = INPUT_KEYBOARD;
inp1LD[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1LD[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1LD[2].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1LD[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1LD[4].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1LD[5].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1LD[0].ki.wScan = DIK_LEFTARROW;
inp1LD[1].ki.wScan = DIK_DOWNARROW;
inp1LD[2].ki.wScan = DIK_1;
inp1LD[3].ki.wScan = DIK_LEFTARROW;
inp1LD[4].ki.wScan = DIK_DOWNARROW;
inp1LD[5].ki.wScan = DIK_1;
INPUT inp1LDR[8];
memset(inp1LDR, 0, sizeof(INPUT));
inp1LD[0].type = INPUT_KEYBOARD;
inp1LD[1].type = INPUT_KEYBOARD;
inp1LD[2].type = INPUT_KEYBOARD;
inp1LD[3].type = INPUT_KEYBOARD;
inp1LD[4].type = INPUT_KEYBOARD;
inp1LD[5].type = INPUT_KEYBOARD;
inp1LD[6].type = INPUT_KEYBOARD;
inp1LD[7].type = INPUT_KEYBOARD;
inp1LD[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1LD[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1LD[2].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1LD[3].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1LD[4].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1LD[5].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1LD[6].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1LD[7].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1LD[0].ki.wScan = DIK_LEFTARROW;
inp1LD[1].ki.wScan = DIK_DOWNARROW;
inp1LD[2].ki.wScan = DIK_RIGHTARROW;
inp1LD[3].ki.wScan = DIK_1;
inp1LD[4].ki.wScan = DIK_LEFTARROW;
inp1LD[5].ki.wScan = DIK_DOWNARROW;
inp1LD[6].ki.wScan = DIK_RIGHTARROW;
inp1LD[7].ki.wScan = DIK_1;
INPUT inp1LR[6];
memset(inp1LR, 0, sizeof(INPUT));
inp1LR[0].type = INPUT_KEYBOARD;
inp1LR[1].type = INPUT_KEYBOARD;
inp1LR[2].type = INPUT_KEYBOARD;
inp1LR[3].type = INPUT_KEYBOARD;
inp1LR[4].type = INPUT_KEYBOARD;
inp1LR[5].type = INPUT_KEYBOARD;
inp1LR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1LR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1LR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1LR[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1LR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1LR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1LR[0].ki.wScan = DIK_LEFTARROW;
inp1LR[1].ki.wScan = DIK_RIGHTARROW;
inp1LR[2].ki.wScan = DIK_1;
inp1LR[3].ki.wScan = DIK_LEFTARROW;
inp1LR[4].ki.wScan = DIK_RIGHTARROW;
inp1LR[5].ki.wScan = DIK_1;
INPUT inp1D[4];
memset(inp1D, 0, sizeof(INPUT));
inp1D[0].type = INPUT_KEYBOARD;
inp1D[1].type = INPUT_KEYBOARD;
inp1D[2].type = INPUT_KEYBOARD;
inp1D[3].type = INPUT_KEYBOARD;
inp1D[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1D[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1D[2].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1D[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1D[0].ki.wScan = DIK_DOWNARROW;
inp1D[1].ki.wScan = DIK_1;
inp1D[2].ki.wScan = DIK_DOWNARROW;
inp1D[3].ki.wScan = DIK_1;
INPUT inp1DR[6];
memset(inp1DR, 0, sizeof(INPUT));
inp1DR[0].type = INPUT_KEYBOARD;
inp1DR[1].type = INPUT_KEYBOARD;
inp1DR[2].type = INPUT_KEYBOARD;
inp1DR[3].type = INPUT_KEYBOARD;
inp1DR[4].type = INPUT_KEYBOARD;
inp1DR[5].type = INPUT_KEYBOARD;
inp1DR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1DR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1DR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1DR[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1DR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1DR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1DR[0].ki.wScan = DIK_DOWNARROW;
inp1DR[1].ki.wScan = DIK_RIGHTARROW;
inp1DR[2].ki.wScan = DIK_1;
inp1DR[3].ki.wScan = DIK_DOWNARROW;
inp1DR[4].ki.wScan = DIK_RIGHTARROW;
inp1DR[5].ki.wScan = DIK_1;
INPUT inp1R[4];
memset(inp1R, 0, sizeof(INPUT));
inp1R[0].type = INPUT_KEYBOARD;
inp1R[1].type = INPUT_KEYBOARD;
inp1R[2].type = INPUT_KEYBOARD;
inp1R[3].type = INPUT_KEYBOARD;
inp1R[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1R[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1R[2].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1R[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1R[0].ki.wScan = DIK_RIGHTARROW;
inp1R[1].ki.wScan = DIK_1;
inp1R[2].ki.wScan = DIK_RIGHTARROW;
inp1R[3].ki.wScan = DIK_1;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
INPUT inp2[2];
memset(inp2, 0, sizeof(INPUT));
inp2[0].type = INPUT_KEYBOARD;
inp2[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2[1] = inp2[0];
inp2[1].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2[0].ki.wScan = inp2[1].ki.wScan = DIK_2;
INPUT inp2L[4];
memset(inp2L, 0, sizeof(INPUT));
inp2L[0].type = INPUT_KEYBOARD;
inp2L[1].type = INPUT_KEYBOARD;
inp2L[2].type = INPUT_KEYBOARD;
inp2L[3].type = INPUT_KEYBOARD;
inp2L[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2L[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2L[2].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2L[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2L[0].ki.wScan = DIK_LEFTARROW;
inp2L[1].ki.wScan = DIK_2;
inp2L[2].ki.wScan = DIK_LEFTARROW;
inp2L[3].ki.wScan = DIK_2;
INPUT inp2LD[6];
memset(inp2LD, 0, sizeof(INPUT));
inp2LD[0].type = INPUT_KEYBOARD;
inp2LD[1].type = INPUT_KEYBOARD;
inp2LD[2].type = INPUT_KEYBOARD;
inp2LD[3].type = INPUT_KEYBOARD;
inp2LD[4].type = INPUT_KEYBOARD;
inp2LD[5].type = INPUT_KEYBOARD;
inp2LD[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2LD[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2LD[2].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2LD[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2LD[4].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2LD[5].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2LD[0].ki.wScan = DIK_LEFTARROW;
inp2LD[1].ki.wScan = DIK_DOWNARROW;
inp2LD[2].ki.wScan = DIK_2;
inp2LD[3].ki.wScan = DIK_LEFTARROW;
inp2LD[4].ki.wScan = DIK_DOWNARROW;
inp2LD[5].ki.wScan = DIK_2;
INPUT inp2LDR[8];
memset(inp2LDR, 0, sizeof(INPUT));
inp2LDR[0].type = INPUT_KEYBOARD;
inp2LDR[1].type = INPUT_KEYBOARD;
inp2LDR[2].type = INPUT_KEYBOARD;
inp2LDR[3].type = INPUT_KEYBOARD;
inp2LDR[4].type = INPUT_KEYBOARD;
inp2LDR[5].type = INPUT_KEYBOARD;
inp2LDR[6].type = INPUT_KEYBOARD;
inp2LDR[7].type = INPUT_KEYBOARD;
inp2LDR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2LDR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2LDR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2LDR[3].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2LDR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2LDR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2LDR[6].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2LDR[7].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2LDR[0].ki.wScan = DIK_LEFTARROW;
inp2LDR[1].ki.wScan = DIK_DOWNARROW;
inp2LDR[2].ki.wScan = DIK_RIGHTARROW;
inp2LDR[3].ki.wScan = DIK_2;
inp2LDR[4].ki.wScan = DIK_LEFTARROW;
inp2LDR[5].ki.wScan = DIK_DOWNARROW;
inp2LDR[6].ki.wScan = DIK_RIGHTARROW;
inp2LDR[7].ki.wScan = DIK_2;
INPUT inp2LR[6];
memset(inp2LR, 0, sizeof(INPUT));
inp2LR[0].type = INPUT_KEYBOARD;
inp2LR[1].type = INPUT_KEYBOARD;
inp2LR[2].type = INPUT_KEYBOARD;
inp2LR[3].type = INPUT_KEYBOARD;
inp2LR[4].type = INPUT_KEYBOARD;
inp2LR[5].type = INPUT_KEYBOARD;
inp2LR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2LR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2LR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2LR[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2LR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2LR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2LR[0].ki.wScan = DIK_LEFTARROW;
inp2LR[1].ki.wScan = DIK_RIGHTARROW;
inp2LR[2].ki.wScan = DIK_2;
inp2LR[3].ki.wScan = DIK_LEFTARROW;
inp2LR[4].ki.wScan = DIK_RIGHTARROW;
inp2LR[5].ki.wScan = DIK_2;
INPUT inp2D[4];
memset(inp2D, 0, sizeof(INPUT));
inp2D[0].type = INPUT_KEYBOARD;
inp2D[1].type = INPUT_KEYBOARD;
inp2D[2].type = INPUT_KEYBOARD;
inp2D[3].type = INPUT_KEYBOARD;
inp2D[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2D[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2D[2].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2D[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2D[0].ki.wScan = DIK_DOWNARROW;
inp2D[1].ki.wScan = DIK_2;
inp2D[2].ki.wScan = DIK_DOWNARROW;
inp2D[3].ki.wScan = DIK_2;
INPUT inp2DR[6];
memset(inp2DR, 0, sizeof(INPUT));
inp2DR[0].type = INPUT_KEYBOARD;
inp2DR[1].type = INPUT_KEYBOARD;
inp2DR[2].type = INPUT_KEYBOARD;
inp2DR[3].type = INPUT_KEYBOARD;
inp2DR[4].type = INPUT_KEYBOARD;
inp2DR[5].type = INPUT_KEYBOARD;
inp2DR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2DR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2DR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2DR[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2DR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2DR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2DR[0].ki.wScan = DIK_DOWNARROW;
inp2DR[1].ki.wScan = DIK_RIGHTARROW;
inp2DR[2].ki.wScan = DIK_2;
inp2DR[3].ki.wScan = DIK_DOWNARROW;
inp2DR[4].ki.wScan = DIK_RIGHTARROW;
inp2DR[5].ki.wScan = DIK_2;
INPUT inp2R[4];
memset(inp2R, 0, sizeof(INPUT));
inp2R[0].type = INPUT_KEYBOARD;
inp2R[1].type = INPUT_KEYBOARD;
inp2R[2].type = INPUT_KEYBOARD;
inp2R[3].type = INPUT_KEYBOARD;
inp2R[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2R[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp2R[2].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2R[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp2R[0].ki.wScan = DIK_RIGHTARROW;
inp2R[1].ki.wScan = DIK_2;
inp2R[2].ki.wScan = DIK_RIGHTARROW;
inp2R[3].ki.wScan = DIK_2;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
INPUT inp3[2];
memset(inp3, 0, sizeof(INPUT));
inp3[0].type = INPUT_KEYBOARD;
inp3[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3[1] = inp3[0];
inp3[1].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3[0].ki.wScan = inp3[1].ki.wScan = DIK_3;
INPUT inp3L[4];
memset(inp3L, 0, sizeof(INPUT));
inp3L[0].type = INPUT_KEYBOARD;
inp3L[1].type = INPUT_KEYBOARD;
inp3L[2].type = INPUT_KEYBOARD;
inp3L[3].type = INPUT_KEYBOARD;
inp3L[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3L[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3L[2].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3L[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3L[0].ki.wScan = DIK_LEFTARROW;
inp3L[1].ki.wScan = DIK_3;
inp3L[2].ki.wScan = DIK_LEFTARROW;
inp3L[3].ki.wScan = DIK_3;
INPUT inp3LD[6];
memset(inp3LD, 0, sizeof(INPUT));
inp3LD[0].type = INPUT_KEYBOARD;
inp3LD[1].type = INPUT_KEYBOARD;
inp3LD[2].type = INPUT_KEYBOARD;
inp3LD[3].type = INPUT_KEYBOARD;
inp3LD[4].type = INPUT_KEYBOARD;
inp3LD[5].type = INPUT_KEYBOARD;
inp3LD[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3LD[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3LD[2].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3LD[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3LD[4].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3LD[5].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3LD[0].ki.wScan = DIK_LEFTARROW;
inp3LD[1].ki.wScan = DIK_DOWNARROW;
inp3LD[2].ki.wScan = DIK_3;
inp3LD[3].ki.wScan = DIK_LEFTARROW;
inp3LD[4].ki.wScan = DIK_DOWNARROW;
inp3LD[5].ki.wScan = DIK_3;
INPUT inp3LDR[8];
memset(inp3LDR, 0, sizeof(INPUT));
inp3LDR[0].type = INPUT_KEYBOARD;
inp3LDR[1].type = INPUT_KEYBOARD;
inp3LDR[2].type = INPUT_KEYBOARD;
inp3LDR[3].type = INPUT_KEYBOARD;
inp3LDR[4].type = INPUT_KEYBOARD;
inp3LDR[5].type = INPUT_KEYBOARD;
inp3LDR[6].type = INPUT_KEYBOARD;
inp3LDR[7].type = INPUT_KEYBOARD;
inp3LDR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3LDR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3LDR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3LDR[3].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3LDR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3LDR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3LDR[6].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3LDR[7].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3LDR[0].ki.wScan = DIK_LEFTARROW;
inp3LDR[1].ki.wScan = DIK_DOWNARROW;
inp3LDR[2].ki.wScan = DIK_RIGHTARROW;
inp3LDR[3].ki.wScan = DIK_3;
inp3LDR[4].ki.wScan = DIK_LEFTARROW;
inp3LDR[5].ki.wScan = DIK_DOWNARROW;
inp3LDR[6].ki.wScan = DIK_RIGHTARROW;
inp3LDR[7].ki.wScan = DIK_3;
INPUT inp3LR[6];
memset(inp3LR, 0, sizeof(INPUT));
inp3LR[0].type = INPUT_KEYBOARD;
inp3LR[1].type = INPUT_KEYBOARD;
inp3LR[2].type = INPUT_KEYBOARD;
inp3LR[3].type = INPUT_KEYBOARD;
inp3LR[4].type = INPUT_KEYBOARD;
inp3LR[5].type = INPUT_KEYBOARD;
inp3LR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3LR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3LR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3LR[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3LR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3LR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3LR[0].ki.wScan = DIK_LEFTARROW;
inp3LR[1].ki.wScan = DIK_RIGHTARROW;
inp3LR[2].ki.wScan = DIK_3;
inp3LR[3].ki.wScan = DIK_LEFTARROW;
inp3LR[4].ki.wScan = DIK_RIGHTARROW;
inp3LR[5].ki.wScan = DIK_3;
INPUT inp3D[4];
memset(inp3D, 0, sizeof(INPUT));
inp3D[0].type = INPUT_KEYBOARD;
inp3D[1].type = INPUT_KEYBOARD;
inp3D[2].type = INPUT_KEYBOARD;
inp3D[3].type = INPUT_KEYBOARD;
inp3D[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3D[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3D[2].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3D[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3D[0].ki.wScan = DIK_DOWNARROW;
inp3D[1].ki.wScan = DIK_3;
inp3D[2].ki.wScan = DIK_DOWNARROW;
inp3D[3].ki.wScan = DIK_3;
INPUT inp3DR[6];
memset(inp3DR, 0, sizeof(INPUT));
inp3DR[0].type = INPUT_KEYBOARD;
inp3DR[1].type = INPUT_KEYBOARD;
inp3DR[2].type = INPUT_KEYBOARD;
inp3DR[3].type = INPUT_KEYBOARD;
inp3DR[4].type = INPUT_KEYBOARD;
inp3DR[5].type = INPUT_KEYBOARD;
inp3DR[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3DR[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3DR[2].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3DR[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3DR[4].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3DR[5].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3DR[0].ki.wScan = DIK_DOWNARROW;
inp3DR[1].ki.wScan = DIK_RIGHTARROW;
inp3DR[2].ki.wScan = DIK_3;
inp3DR[3].ki.wScan = DIK_DOWNARROW;
inp3DR[4].ki.wScan = DIK_RIGHTARROW;
inp3DR[5].ki.wScan = DIK_3;
INPUT inp3R[4];
memset(inp3R, 0, sizeof(INPUT));
inp3R[0].type = INPUT_KEYBOARD;
inp3R[1].type = INPUT_KEYBOARD;
inp3R[2].type = INPUT_KEYBOARD;
inp3R[3].type = INPUT_KEYBOARD;
inp3R[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3R[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp3R[2].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3R[3].ki.dwFlags |= KEYEVENTF_KEYUP;
inp3R[0].ki.wScan = DIK_RIGHTARROW;
inp3R[1].ki.wScan = DIK_3;
inp3R[2].ki.wScan = DIK_RIGHTARROW;
inp3R[3].ki.wScan = DIK_3;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
printf("Waiting for input...");
_getch();
printf("\nStart in 5 seconds");
Sleep(1000);
SendInput(2, inp1, sizeof(INPUT));
Sleep(250);
SendInput(2, inp2, sizeof(INPUT));
Sleep(250);
SendInput(2, inp3, sizeof(INPUT));
Sleep(250);
SendInput(2, inp3, sizeof(INPUT));
Sleep(250);
SendInput(2, inp3, sizeof(INPUT));
Sleep(250);
SendInput(2, inp2, sizeof(INPUT));
Sleep(250);
SendInput(2, inp1, sizeof(INPUT));
Sleep(500);
我真的很抱歉這種混亂...但我需要幫助。 對於他在inp1L和inp1LD發誓的第一件事
upd - 發現錯誤
INPUT inp1LDR[8];
memset(inp1LDR, 0, sizeof(INPUT));
inp1LD[0].type = INPUT_KEYBOARD;
inp1LD[1].type = INPUT_KEYBOARD;
inp1LD[2].type = INPUT_KEYBOARD;
inp1LD[3].type = INPUT_KEYBOARD;
inp1LD[4].type = INPUT_KEYBOARD;
inp1LD[5].type = INPUT_KEYBOARD;
inp1LD[6].type = INPUT_KEYBOARD;
inp1LD[7].type = INPUT_KEYBOARD;
inp1LD[0].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1LD[1].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1LD[2].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1LD[3].ki.dwFlags = KEYEVENTF_SCANCODE;
inp1LD[4].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1LD[5].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1LD[6].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1LD[7].ki.dwFlags |= KEYEVENTF_KEYUP;
inp1LD[0].ki.wScan = DIK_LEFTARROW;
inp1LD[1].ki.wScan = DIK_DOWNARROW;
inp1LD[2].ki.wScan = DIK_RIGHTARROW;
inp1LD[3].ki.wScan = DIK_1;
inp1LD[4].ki.wScan = DIK_LEFTARROW;
inp1LD[5].ki.wScan = DIK_DOWNARROW;
inp1LD[6].ki.wScan = DIK_RIGHTARROW;
inp1LD[7].ki.wScan = DIK_1;
inp1LD > inp1LDR(都是因為注意力不集中)
如果你使用 memset,你必須計算你設置的字節數。 例如:
INPUT inp1LDR[8];
memset(inp1LDR, 0, 8*sizeof(INPUT));
否則只有數組的第一個元素將被初始化為零值。
有了它,您可以使用像|=
這樣的位操作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.