Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menghantar Berbilang Aksara dengan SendInput()?

Bagaimana untuk Menghantar Berbilang Aksara dengan SendInput()?

Susan Sarandon
Lepaskan: 2024-10-30 02:35:28
asal
787 orang telah melayarinya

How to Send Multiple Characters with SendInput()?

Menghantar Berbilang Aksara dengan SendInput

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>
Salin selepas log masuk

Nota Penting:

  • Kekunci Maya: Gunakan KEYEVENTF_UNICODE untuk menggunakan titik kod Unikod dan bukannya kekunci maya.
  • Titik Kod UNICODE: Pasangan pengganti dikehendaki menghantar aksara di luar Satah Berbilang Bahasa Asas (BMP).
  • Bilangan Struktur INPUT: Parameter pertama SendInput() menentukan bilangan struktur INPUT.

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Berbilang Aksara dengan SendInput()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan