Soalan:
Bagaimanakah SendInput boleh digunakan untuk menghantar lebih daripada satu aksara?
Jawapan:
SendInput() menerima berbilang struktur INPUT. Setiap struktur INPUT mewakili satu peristiwa utama (tekan atau lepas). Untuk menghantar berbilang aksara, cipta tatasusunan struktur INPUT dan nyatakan kod kunci maya atau titik kod Unikod yang betul.
Kod Betul untuk Menghantar Dua Aksara:
<code class="c++">#include <array> int main() { array<INPUT, 4> in; // KEYEVENTF_UNICODE specifies using Unicode codepoints in[0].type = INPUT_KEYBOARD; in[0].ki.dwFlags = KEYEVENTF_UNICODE; in[0].ki.wScan = 0; in[0].ki.time = 0; in[0].ki.dwExtraInfo = 0; in[0].ki.wVk = VkKeyScanW('S'); // 'S' character in[1].type = INPUT_KEYBOARD; in[1].ki.dwFlags = KEYEVENTF_UNICODE | KEYEVENTF_KEYUP; in[1].ki.wScan = 0; in[1].ki.time = 0; in[1].ki.dwExtraInfo = 0; in[1].ki.wVk = VkKeyScanW('S'); // 'S' character in[2].type = INPUT_KEYBOARD; in[2].ki.dwFlags = KEYEVENTF_UNICODE; in[2].ki.wScan = 0; in[2].ki.time = 0; in[2].ki.dwExtraInfo = 0; in[2].ki.wVk = VkKeyScanW('T'); // 'T' character in[3].type = INPUT_KEYBOARD; in[3].ki.dwFlags = KEYEVENTF_UNICODE | KEYEVENTF_KEYUP; in[3].ki.wScan = 0; in[3].ki.time = 0; in[3].ki.dwExtraInfo = 0; in[3].ki.wVk = VkKeyScanW('T'); // 'T' character SendInput(in.size(), &in[0], sizeof(INPUT)); return 0; }</code>
Nota Penting:
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Berbilang Aksara dengan SendInput()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!