cara ini efektif jika didalam form tidak ada control sama sekali.

karena event tsb hanya dicapture pada object form.

 

ada cara yang lebih ampuh, yaitu dengan melakukan re-route/hook Proses Keyboard.

anda bisa gunakan API Function SetWindowsHookEx.

 

example :

sub form_load

      hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf KeyboardProc, App.hInstance, App.ThreadID)

end sub

artinya :

proses keyboard punya windows kita alihkan ke function kita sendiri yang namanya KeyboardProc dengan menunjuk alamat dari function tsb. (perhatikan "AddressOf KeyboardProc"). sedangkan alamat proses yang aslinya kita simpan pada variable hHook (return value dari SetWindowsHookEx).

 

kemudian buat function KeyboardProc. Taruh di module. (fungsi AddressOf hanya jalan dilevel module).

 

Public Function KeyboardProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

        'kode anda disini..

        'anda bisa cek status tombol dipencet atau kagak

        'gunakan API function GetKeyState

        'contohnya :

        If (GetKeyState(VK_SHIFT) And &HF0000000) And wParam = Asc("S") Then

            'artinya Shift+S kepencet

            'anda bisa tambahkan kombinasi tombol lebih banyak lagi

            'tinggal tambahin And aja

            'misal :

            'if blah blah blah.. And (GetKeyState(VK_CONTROL) And &HF0000000)

        End If

           

        'Jangan lupa untuk menjalankan proses aslinya, kalau nggak bisa crash loh.. hati2 main2 dengan API

        KeyboardProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)

End Function

 

habis dirouting, jangan lupa untuk balikin ke proses aslinya. taruh aja di form unload.

 

Private Sub Form_Unload(Cancel As Integer)

    UnhookWindowsHookEx hHook 'hHook adalah address yang aslinya.

End Sub

 

selamat ber-experimen

 

*note : untuk Constanta WH_KEYBOARD, VK_SHIFT, DLL bisa anda cari API VIEWER.


From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Robby
Sent: 10 February 2006 13:56
To: [email protected]
Subject: [Programmer-VB] Re:Kombinasi Tombol

 

coba pake ini

 

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    tombol = Shift And 7
    If tombol = 7 Then

        If  KeyCode = vbKeyD then   <---CTRL + ALT + SHIFT + D ---> call switch to dummy database
            call switch to dummy database

        Elseif keycode =vbKeyO then    <----CTRL + ALT + SHIFT + O ---> call switch to real database

            call switch to real database

        end if
    End If
End Sub

----- Original Message -----

From: LiveDeviL

Sent: Friday, February 10, 2006 1:38 PM

Subject: Re: INFO (was : Re: [Programmer-VB] Anti Virus Brontok)

 

hi guys...
newbie mo nanya neh...
kalo mao nangkep kombinasi tombol gimana ya?
jadi misalnya

CTRL + ALT + SHIFT + D ---> call switch to dummy database
CTRL + ALT + SHIFT + O ---> call switch to real database

mohon pencerahannya...
thanks in advance

--
best regards,
LiveDeviL

There's no teacher who can teach us anything new...
They just help us to remember the things we always knew...


Wahana Programmer Groups Links

<*> Untuk mengunjungi sponsor milis ini, klik link berikut:
    http://wahanaprogrammer.net

<*> Untuk menghubungi owner milis ini, kirim email ke:
    [EMAIL PROTECTED]

<*> Konsultasi pemrogramman bisa chat disini:
    Yahoo! Messenger: wahanaprogrammer




SPONSORED LINKS
Programmer Indonesia Basic programming language
Computer programming languages Programming languages Java programming language


YAHOO! GROUPS LINKS




Kirim email ke