thongkorn โพสต์ 2017-10-26 21:53:24

[VB6] การบล็อกเมาส์และคีย์บอร์ด เพื่อไม่ให้สามารถทำงานได้

การเกิดเหตุการณ์ Form_Activate บ่งบอกให้รู้ว่าฟอร์มนั้นๆ ถูก Focus ไปหาเพื่อเริ่มต้นการทำงาน (อีกครั้ง) เราจึงนำเหตุการณ์นี้มาทำการป้องกัน หรือบล็อกอุปกรณ์อินพุท เช่น เมาส์ และ คีย์บอร์ด ได้ด้วยการใช้ Win32 API (Application Programming Interface) ... แบบง่ายมากๆเลยครับพี่น้อง
Option Explicit

Private Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Form_Activate()
    '// คำสั่ง DoEvents คือ การคืน CPU กลับไปให้กับระบบปฏิบัติการ
    DoEvents
   
    '// บล็อคเมาส ์และ คีย์บอร์ด
    BlockInput True
   
    '// รออีก 5 วินาทีแล้วค่อยปลดการบล็อคออกไป
    Sleep 5000
    '// ปลดการล้อคเมาส์ และ คีย์บอร์ด
    BlockInput False
End Sub
หน้า: [1]
ดูในรูปแบบกติ: [VB6] การบล็อกเมาส์และคีย์บอร์ด เพื่อไม่ให้สามารถทำงานได้