ป้อนข้อมูล

โครงสร้างการป้อนข้อมูลถูกใช้โดยSendInputการกดแป้นพิมพ์ เมาส์ภาพเคลื่อนไหว สังเคราะห์ และการคลิกที่ปุ่ม.

typedef struct tagINPUT {
    DWORD พิมพ์
    สหภาพ
    {
        MOUSEINPUT mi
        KEYBDINPUT ki
        HARDWAREINPUT สวัสดี
    };
} ป้อน, * PINPUT ไกล * LPINPUT 

สมาชิก

ชนิด
ระบุชนิดของเหตุการณ์สำหรับการป้อนค่า สามารถเป็นหนึ่งในค่าต่อไปนี้.
ค่า ความหมาย
INPUT_MOUSE เหตุการณ์จะเป็นเหตุการณ์เมาส์ ใช้โครงสร้างmiสหภาพ.
INPUT_KEYBOARD เหตุการณ์จะเป็นเหตุการณ์แป้นพิมพ์ ใช้โครงสร้างkiสหภาพ.
INPUT_HARDWARE Windows 95: เหตุการณ์จากฮาร์ดแวร์อินพุตอื่นนอกเหนือจากแป้นพิมพ์หรือเมาส์ได้ ใช้โครงสวัสดีสร้างของสหภาพ.

mi
ระบุเป็นเหตุการณ์เมาส์.
typedef struct tagMOUSEINPUT {
    ยาว dx
    ยาว dy
    DWORD mouseData
    DWORD dwFlags
    DWORD เวลา
    DWORD dwExtraInfo
} MOUSEINPUT, * PMOUSEINPUT ไกล * LPMOUSEINPUT 

dx, dy
ระบุตำแหน่งสัมบูรณ์ของเมาส์หรือการเคลื่อนไหวของจำนวนนับตั้งแต่เหตุการณ์เมาส์ล่าสุดที่สร้าง ทั้งนี้ขึ้นอยู่กับการตั้งค่าของ MOUSEEVENTF_ABSOLUTE ในdwFlags ข้อมูลแบบสัมบูรณ์ถูกกำหนดเป็นเมาส์จริง x-y-พิกัด และ ข้อมูลที่สัมพันธ์กันถูกกำหนดเป็นจำนวนพิกเซลที่ถูกย้าย.
mouseData
ถ้าdwFlagsมี MOUSEEVENTF_WHEEL แล้วmouseDataระบุจำนวนล้อ เป็นค่าบวกบ่งชี้ว่า ล้อไม่หมุนไปข้างหน้า ออกจากผู้ใช้ เป็นค่าลบบ่งชี้ว่า ล้อไม่หมุนไปสู่ผู้ใช้ย้อนหลัง คลิล้อถูกกำหนดเป็น WHEEL_DELTA ซึ่งเป็น 120.

ถ้าdwFlagsไม่ประกอบด้วย MOUSEEVENTF_WHEEL แล้วmouseDataควรเป็นศูนย์.

dwFlags
ชุดของค่าสถานะบิตที่แง่มุมต่าง ๆ ของการเคลื่อนไหวและปุ่มคลิกเมาส์ที่ระบุ บิตในสมาชิกนี้สามารถถูกรวมกันสมเหตุสมผลของค่าต่าง ๆ ต่อไปนี้.
ค่า ความหมาย
MOUSEEVENTF_ABSOLUTE ระบุว่า สมาชิกdxและdyมีมาตรฐานแบบเต็มพิกัด หากถูกตั้งค่าสถานะdxและdyสมาชิกประกอบด้วยข้อมูลที่สัมพันธ์กัน: การเปลี่ยนแปลงในตำแหน่งเนื่องจากสุดท้ายรายงานตำแหน่ง ธงนี้สามารถตั้งค่า หรือไม่ได้ตั้ง ค่า คำนึงถึงชนิดของเมาส์หรืออุปกรณ์ชี้ตำแหน่งอื่น ถ้ามี ได้เชื่อมต่อกับระบบ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเมาส์ที่สัมพันธ์กับการเคลื่อนไหว ดูส่วนหมายเหตุดังต่อไปนี้.
MOUSEEVENTF_MOVE ระบุว่า การเคลื่อนไหวเกิดขึ้น.
MOUSEEVENTF_LEFTDOWN ระบุว่า มีกดปุ่มซ้าย.
MOUSEEVENTF_LEFTUP ระบุว่า เป็นปุ่มซ้ายออก.
MOUSEEVENTF_RIGHTDOWN ระบุว่า มีกดปุ่มขวา.
MOUSEEVENTF_RIGHTUP ระบุว่า ปุ่มขวาที่เผยแพร่.
MOUSEEVENTF_MIDDLEDOWN ระบุว่า มีกดปุ่มกลาง.
MOUSEEVENTF_MIDDLEUP ระบุว่า ปุ่มกลางเผยแพร่.
MOUSEEVENTF_WHEEL Windows NT: ระบุว่า ล้อถูกย้าย ถ้าเมาส์มีล้อ มีระบุจำนวนของความเคลื่อนไหวในmouseData.

ค่าสถานะบิตที่ระบุสถานะปุ่มของเมาส์ถูกตั้งค่าเพื่อระบุการเปลี่ยนแปลงในสถานะ เงื่อนไขอย่างต่อเนื่องไม่ ตัวอย่างเช่น ถ้าปุ่มซ้ายของเมาส์กด และค้าง MOUSEEVENTF_LEFTDOWN ถูกตั้งค่า เมื่อก่อนมีกดปุ่มซ้าย แต่ไม่ใช่ สำหรับภาพเคลื่อนไหวตามมา ในทำนองเดียวกัน MOUSEEVENTF_LEFTUP ถูกตั้งค่าเฉพาะเมื่อก่อนปล่อยปุ่ม.

เวลา
ประทับเวลาสำหรับเหตุการณ์.
dwExtraInfo
ระบุค่า 32 บิตเพิ่มเติมที่เกี่ยวข้องกับเหตุการณ์เมาส์ แอปพลิเคชันเรียกใช้GetMessageExtraInfoเพื่อขอรับข้อมูลพิเศษนี้.
ki
ระบุเป็นเหตุการณ์แป้นพิมพ์.
typedef struct tagKEYBDINPUT {
    WORD wVk
    WORD wScan
    DWORD dwFlags
    DWORD เวลา
    DWORD dwExtraInfo
} KEYBDINPUT, * PKEYBDINPUT ไกล * LPKEYBDINPUT 

wVk
ระบุรหัสคีย์เสมือน รหัสต้องมีค่าในช่วง 1 การ 254.
wScan
ระบุรหัสสำหรับคีย์การสแกนฮาร์ดแวร์.
dwFlags
ชุดของค่าสถานะบิตที่ระบุการกดแป้นพิมพ์ในลักษณะต่าง ๆ บิตในสมาชิกนี้อาจเป็นการรวมกันของค่าคงกำหนดไว้ล่วงหน้าดังต่อไปนี้.
ค่า ความหมาย
KEYEVENTF_EXTENDEDKEY ถ้าระบุไว้ รหัสการสแกนถูกนำหน้า ด้วยคำนำหน้าไบต์ที่มีค่า 0xE0 (224).
KEYEVENTF_KEYUP ถ้าระบุ คีย์จะถูกเผยแพร่ ถ้าไม่ระบุ ปุ่มถูกกด.

เวลา
ประทับเวลาสำหรับเหตุการณ์.
dwExtraInfo
ระบุค่า 32 บิตเพิ่มเติมที่เกี่ยวข้องกับการกดแป้น แอปพลิเคชันเรียกใช้GetMessageExtraInfoเพื่อขอรับข้อมูลพิเศษนี้.
สวัสดี
Windows 95: ระบุเหตุการณ์จากฮาร์ดแวร์อินพุตอื่นนอกเหนือจากแป้นพิมพ์หรือเมาส์.
typedef struct tagHARDWAREINPUT {
    DWORD uMsg
    WORD wParamL
    WORD wParamH
    DWORD dwExtraInfo
} HARDWAREINPUT, * PHARDWAREINPUT ไกล * LPHARDWAREINPUT 

uMsg
ข้อความสร้างขึ้น โดยฮาร์ดแวร์สำหรับการป้อนค่า.
wParamL
พารามิเตอร์สำหรับuMsg.
wParamH
พารามิเตอร์สำหรับuMsg.
dwExtraInfo
ระบุค่า 32 บิตเพิ่มเติมที่เกี่ยวข้องกับเหตุการณ์ แอปพลิเคชันเรียกใช้GetMessageExtraInfoเพื่อขอรับข้อมูลพิเศษนี้.

หมายเหตุ

หากมีย้ายเมาส์ ระบุ โดยกำหนด MOUSEEVENTF_MOVE dxและdyระบุข้อมูลเกี่ยวกับการเคลื่อนไหวที่ ข้อมูลที่ได้ถูกกำหนดเป็นค่าสัมบูรณ์ หรือสัมพันธ์กับจำนวนเต็ม.

ถ้ามีระบุค่า MOUSEEVENTF_ABSOLUTE, dxและdyมีพิกัดแบบสัมบูรณ์มาตรฐานระหว่าง 0 และ 65,535 กระบวนงานเหตุการณ์แมปพิกัดเหล่านี้ไว้บนพื้นผิวแสดง ประสานงานแผนที่ (0,0) ลงบนมุมบนซ้ายของพื้นผิวของจอแสดงผล ประสานงานแผนที่ (65535,65535) ลงบนมุมล่างขวา.

ถ้าไม่ระบุค่า MOUSEEVENTF_ABSOLUTE, dxและdyระบุภาพเคลื่อนไหวที่สัมพันธ์กับเหตุการณ์เมาส์ก่อนหน้า (ที่มีการรายงานตำแหน่งสุดท้าย) บวกค่าหมายถึง ย้ายเมาส์ขวา (หรือลง); ค่าลบหมายถึง ย้ายเมาส์ซ้าย (หรือขึ้น).

เมาส์ที่สัมพันธ์กับการเคลื่อนไหวอยู่ภายใต้ผลของความเร็วของเมาส์และเมาส์สองขีดเริ่มเปลี่ยนค่า ผู้ใช้ตั้งค่าสามค่าเหล่านี้ ด้วยแถบเลื่อนความเร็วของตัวชี้ของแผ่นเมาส์คุณสมบัติของ Control Panel โปรแกรมประยุกต์ที่ได้รับ และตั้งค่าเหล่านี้ด้วยการ SystemParametersInfoฟังก์ชัน .

ระบบปฏิบัติการใช้ทดสอบสองการเคลื่อนไหวที่ระบุสัมพัทธ์เมาส์ ถ้าระยะห่างที่ระบุตามแนวแกน x หรือ y มีค่ามากกว่าค่าขีดเริ่มเปลี่ยนเมาส์แรก และความเร็วของเมาส์ไม่ใช่ศูนย์ ระบบปฏิบัติการ doubles ระยะห่าง ถ้าระยะห่างที่ระบุตามแนวแกน x หรือ y มีค่ามากกว่าค่าขีดเริ่มเปลี่ยนเมาส์สอง และความเร็วของเมาส์จะเท่ากับสอง ระบบปฏิบัติการ doubles ระยะห่างที่เป็นผลมาจากการใช้การทดสอบแรกของเพดาน คือเป็นไปได้สำหรับระบบปฏิบัติการคูณระบุสัมพัทธ์เมาส์เคลื่อนไหวพร้อมกับ x หรือ y แกน โดยครั้งที่สี่.

QuickInfo

nbsp Windows &NT:ต้องการเวอร์ชัน 4.0 SP3 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 98 หรือรุ่นที่ใหม่กว่า
Windows CE:ไม่สนับสนุน
หัวข้อ:ประกาศใน winuser.h.

ดูเพิ่มเติม

ภาพรวมการป้อนข้อมูลของแป้นพิมพ์โครงสร้างการป้อนข้อมูลของแป้นพิมพ์ GetMessageExtraInfo, SendInput, SystemParametersInfo