Sering waktu saya kuliah dahulu mencoba membuat program-program usil. beberapa diantaranya coba saya tulis dalam artikel ini. kali saya coba share beberapa trik penggunaan fungsi pada Win32 API yakni GetCursorPos dan SetCursorPos. untuk mendapatkan dan mengatur posisi kursor seperti yang kita tentukan.
GetCursorPos ini fungsi yang digunakan untuk mendapatkan informasi mengenai koordinat terakhir mouse, pendeklarasianya dalam visual basic sbb :
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
PONTAPI merupakan struktur bentukan yang menerima nilai berupa koordinat X mouse dan Y mouse, tipe bentukan dari POINTAPI sbb :
Private Type POINTAPI
x As Long
y As Long
End Type
x As Long
y As Long
End Type
SetCursorPos digunakan untuk mengarahkan posisi kursor pada koordinat tertentu sesuai dengan nilai parameter X dan Y yang ditentukan. pendeklarasianya sbb :
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
kemudian coba buat project baru dengan 1 form dan 1 timmer sbb :
selanjutnya deklarasikan fungsi GetCursorPos dan SetCursorPos pada code editor.
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Dim kursor As POINTAPI
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Dim kursor As POINTAPI
pada komponen Timer1 tambahkan pada even Timer() kode sbb :
GetCursorPos kursor
Me.Caption = "X = " & kursor.x & " , Y = " & kursor.y
If kursor.x < 400 Then SetCursorPos 400, kursor.y
If kursor.x > 600 Then SetCursorPos 600, kursor.y
If kursor.y < 300 Then SetCursorPos kursor.x, 300
If kursor.y > 500 Then SetCursorPos kursor.x, 500
Me.Caption = "X = " & kursor.x & " , Y = " & kursor.y
If kursor.x < 400 Then SetCursorPos 400, kursor.y
If kursor.x > 600 Then SetCursorPos 600, kursor.y
If kursor.y < 300 Then SetCursorPos kursor.x, 300
If kursor.y > 500 Then SetCursorPos kursor.x, 500
jangan lupa simpan project anda dan jalankan, perhatikan bagaimana hasilnya?...
Listing Program Selengkapnya :
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Dim kursor As POINTAPI
Private Sub Timer1_Timer()
GetCursorPos kursor
Me.Caption = "X = " & kursor.x & " , Y = " & kursor.y
If kursor.x < 400 Then SetCursorPos 400, kursor.y
If kursor.x > 600 Then SetCursorPos 600, kursor.y
If kursor.y < 300 Then SetCursorPos kursor.x, 300
If kursor.y > 500 Then SetCursorPos kursor.x, 500
End Sub
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Dim kursor As POINTAPI
Private Sub Timer1_Timer()
GetCursorPos kursor
Me.Caption = "X = " & kursor.x & " , Y = " & kursor.y
If kursor.x < 400 Then SetCursorPos 400, kursor.y
If kursor.x > 600 Then SetCursorPos 600, kursor.y
If kursor.y < 300 Then SetCursorPos kursor.x, 300
If kursor.y > 500 Then SetCursorPos kursor.x, 500
End Sub
semoga bermanfaat
(edisugiarto.blogspot.com)
referensi :
http://msdn.microsoft.com/
No comments:
Post a Comment