Fungsi CreateSyntheticPointerDevice2

[Beberapa informasi berkaitan dengan produk pra-rilis yang mungkin dimodifikasi secara substansial sebelum dirilis secara komersial. Microsoft tidak memberikan jaminan, tersurat maupun tersirat, sehubungan dengan informasi yang diberikan di sini.]

Membuat perangkat penunjuk sintetis menggunakan parameter terkait. Input dapat disuntikkan menggunakan perangkat ini melalui InjectSyntheticPointerInput. Ketika perangkat injeksi tidak lagi diperlukan, perangkat harus dibersihkan melalui DestroySyntheticPointerDevice.

Sintaksis

WINUSERAPI
HSYNTHETICPOINTERDEVICE
WINAPI
CreateSyntheticPointerDevice2(
    _In_ SYNTHETIC_DEVICE_CREATION_PARAMS* pParams);

Parameter-parameternya

pParams

Penunjuk ke struktur SYNTHETIC_DEVICE_CREATION_PARAMS yang berisi parameter untuk perangkat.

Mengembalikan nilai

Jika fungsi berhasil, nilai pengembalian adalah handel ke perangkat penunjuk sintetis.

Jika fungsi gagal, nilai yang dikembalikan adalah NULL. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Komentar

CreateSyntheticPointerDevice yang ada tidak dapat digunakan untuk membuat perangkat touchpad, karena touchpad harus dibuat dengan ukuran fisik.

SYNTHETIC_DEVICE_CREATION_OPTIONS

Opsi untuk membuat perangkat penunjuk sintetis.

typedef enum tagSYNTHETIC_DEVICE_CREATION_OPTIONS
{
    SDCO_NONE                   = 0x0,
    SDCO_PHYSICAL_SIZE          = 0x1,
    SDCO_TOUCHPAD_GESTURE_ONLY  = 0x2,
} SYNTHETIC_DEVICE_CREATION_OPTIONS;
DEFINE_ENUM_FLAG_OPERATORS(SYNTHETIC_DEVICE_CREATION_OPTIONS)
Nilai Meaning
SDCO_NONE (0x0) Tidak ada pilihan khusus.
SDCO_PHYSICAL_SIZE (0x1) Input yang disuntikkan relatif terhadap perangkat alih-alih tampilan yang dipetakan. Jika ditentukan, dimensi perangkat harus disediakan. Saat menyuntikkan input menggunakan InjectSyntheticPointerInput, koordinat input harus ditentukan di bidang ptHimetricLocation info pointer alih-alih ptPixelLocation.
SDCO_TOUCHPAD_GESTURE_ONLY (0x2) Input touchpad yang disuntikkan akan selalu diperlakukan sebagai gerakan dan tidak dapat dikenali sebagai gerakan atau klik mouse. Jika tidak ditentukan, maka sistem akan memperlakukan input touchpad yang disuntikkan secara identik dengan input touchpad fisik.

SYNTHETIC_DEVICE_CREATION_PARAMS

Struktur yang mewakili parameter untuk membuat perangkat injeksi sintetis.

typedef struct tagSYNTHETIC_DEVICE_CREATION_PARAMS
{
    POINTER_INPUT_TYPE pointerType;
    ULONG maxCount;
    POINTER_FEEDBACK_MODE feedbackMode;
    HMONITOR hMonitor;
    ULONG deviceWidth;
    ULONG deviceHeight;
    SYNTHETIC_DEVICE_CREATION_OPTIONS options;
} SYNTHETIC_DEVICE_CREATION_PARAMS;

Members

pointerType

Jenis perangkat yang dibuat (PT_TOUCH, PT_PEN, atau PT_TOUCHPAD).

maxCount

Jumlah maksimum kontak yang dapat disuntikkan secara bersamaan.

feedbackMode

Mode di mana input yang disuntikkan memiliki umpan balik visual yang dirender.

hMonitor

Monitor tempat input yang disuntikkan dipetakan, jika berlaku.

deviceWidth

Lebar fisik perangkat dalam himetric (1/100 milimeter).

deviceHeight

Tinggi fisik perangkat dalam himetric (1/100th dari satu milimeter).

opsi

Nol atau lebih opsi dari SYNTHETIC_DEVICE_CREATION_OPTIONS.

Komentar

Bidang pointerType dan opsi mengontrol nilai yang valid untuk bidang lain:

PT_TOUCH:

  • maxCount harus lebih besar dari 0 dan kurang dari atau sama dengan 256.
  • feedbackMode harus POINTER_FEEDBACK_DEFAULT, POINTER_FEEDBACK_INDIRECT, atau POINTER_FEEDBACK_NONE.
  • hMonitor dapat berupa nullptr (input dipetakan ke desktop virtual) atau monitor yang valid.
  • deviceWidth dan deviceHeight harus bukan nol jika SDCO_PHYSICAL_SIZE ditentukan dan nol jika tidak.
  • Hanya SDCO_PHYSICAL_SIZE yang valid untuk opsi (atau SDCO_NONE).

PT_PEN:

  • maxCount harus 1.
  • feedbackMode harus POINTER_FEEDBACK_DEFAULT, POINTER_FEEDBACK_INDIRECT, atau POINTER_FEEDBACK_NONE.
  • hMonitor dapat berupa nullptr atau monitor yang valid.
  • deviceWidth dan deviceHeight harus bukan nol jika SDCO_PHYSICAL_SIZE ditentukan dan nol jika tidak.
  • Hanya SDCO_PHYSICAL_SIZE yang valid untuk opsi (atau SDCO_NONE).

PT_TOUCHPAD:

  • maxCount harus lebih besar dari 0 dan kurang dari atau sama dengan 5.
  • feedbackMode harus POINTER_FEEDBACK_NONE.
  • hMonitor harus nullptr (input touchpad selalu dipetakan ke desktop virtual melalui lokasi mouse).
  • deviceWidth dan deviceHeight harus bukan nol.
  • SDCO_PHYSICAL_SIZE harus ditentukan dalam opsi, SDCO_TOUCHPAD_GESTURE_ONLY bersifat opsional.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 11 [hanya aplikasi desktop]
Server minimum yang didukung Tidak ada yang didukung
Header Winuser.h (termasuk Windows.h)
Perpustakaan User32.lib
DLL User32.dll (ordinal 2690)

Baca juga