Delphi > Obecné

Simulácia (opäť) stlačenia klávesu

(1/1)

Stanislav Hruška:
Už to tu dlho nebolo. keybd_event je zastaraný a mám použiť SendInput. Našiel som kód v nejakom C. Je nad moje. Ide mi o VK_INSERT
--- Kód: Delphi ---  UINT SendInput(  [in] UINT    cInputs,  [in] LPINPUT pInputs,  [in] int     cbSize);.void ShowDesktop(){    OutputString(L"Sending 'Win-D'\r\n");    INPUT inputs[4] = {};    ZeroMemory(inputs, sizeof(inputs));.    inputs[0].type = INPUT_KEYBOARD;    inputs[0].ki.wVk = VK_LWIN;.    inputs[1].type = INPUT_KEYBOARD;    inputs[1].ki.wVk = VK_D;.    inputs[2].type = INPUT_KEYBOARD;    inputs[2].ki.wVk = VK_D;    inputs[2].ki.dwFlags = KEYEVENTF_KEYUP;.    inputs[3].type = INPUT_KEYBOARD;    inputs[3].ki.wVk = VK_LWIN;    inputs[3].ki.dwFlags = KEYEVENTF_KEYUP;.    UINT uSent = SendInput(ARRAYSIZE(inputs), inputs, sizeof(INPUT));    if (uSent != ARRAYSIZE(inputs))    {        OutputString(L"SendInput failed: 0x%x\n", HRESULT_FROM_WIN32(GetLastError()));    }}Hlavne neviem ako deklarovať inputs.

Stanislav Hruška:
Trúbi, svieti, len nejde. Kde som sa sekol?
--- Kód: Delphi ---var  Inputs: array [0..0] of TInput;begin  ZeroMemory(@Inputs, SizeOf(Inputs));  Inputs[0].Itype := INPUT_KEYBOARD;  Inputs[0].ki.dwFlags := VK_INSERT;  SendInput(1, Inputs[0], SizeOf(TInput));

Stanislav Hruška:

--- Kód: Delphi ---  ZeroMemory(@Inputs, SizeOf(Inputs));  Inputs[0].Itype := INPUT_KEYBOARD;  Inputs[0].ki.wVk := VK_INSERT;                      // Tu  SendInput(1, Inputs[0], SizeOf(TInput));

Navigace

[0] Seznam témat

Přejít na plnou verzi