06 Desember 2008

Membuat Mouse Bergerak dengan fungsi API

Berikut ini penulis akan membuat sebuah contoh program sederhana yang memanfaatkan fungsi API dan dibuat dengan Visual Basic 6.0 yang akan membuat mouse bergerak gerak.

Langkah-Langkahnya :

1. Buat 1 project baru dengan 1 CommandButton, dan 1 buah timer.
2. Atur interval timer menjadi 100 dan nilai enable dibuat false pada jendela properties.
3. Ketik kode berikut ke dalam code editor form :


Option Explicit
Private Declare Function SetCursorPos Lib “user32″ (ByVal x As Long, ByVal y As Long) As Long

Dim xx As Integer
Dim yy As Integer

Private Type POINTAPI
x As Long
y As Long
End Type

Private Declare Function GetCursorPos Lib “user32″ (lpPoint As POINTAPI) As Long
Dim sh As Integer
Dim sw As Integer

Private Sub Command1_Click()
Timer1.Enabled = True
xx = Rnd * 10 + 1
yy = Rnd * 10 + 1
End Sub

Private Sub Command1_KeyDown(KeyCode As Integer, Shift As Integer)
If vbKeyEscape Then
Timer1.Enabled = False
End If
End Sub

Private Sub Timer1_Timer()
Dim pt As POINTAPI

GetCursorPos pt
’sebelum merubah kordinat posisi kursor, program harus mendapatkan terlebih
’dahulu posisi kursor berada.
sh = (Screen.Height / 15) - 1
sw = (Screen.Width / 15) - 1

If pt.x <= 0 Then xx = -xx
If pt.x >= sw Then xx = -xx
If pt.y <= 0 Then yy = -yy
If pt.y >= sh Then yy = -yy

DoEvents
pt.x = pt.x + xx
pt.y = pt.y + yy

SetCursorPos pt.x, pt.y
Label1.Caption = “Koordinat Posisi Kursor (X, Y): ” & pt.x & ” , ” & pt.y
End Sub

Fungsi API yang digunakan dalam program :

* SetCursorPos, fungsi API SetCursorPos terdapat pada file pustaka user32.dll Fungsi ini berguna untuk merubah kordinat posisi kursor.

Parameter :

x : merupakan suatu point dengan acuan kordinat sumbu x.
y : merupakan suatu point dengan acuan kordinat sumbu y.

* GetCursorPos, fungsi ini berguna untuk mendapatkan kordinat posisi kursor pada layar dengan mengembalikan nilai kordinat posisi (x,y).

Parameter :

lpPoint : merupakan deklarasi struktur POINTAPI yang berguna sebagai penerima kordinat posisi kursor pada layar. Sebelumnya kita harus mendeklarasikan Type POINT API terlebih dahulu.

Tidak ada komentar: