Wueh keren......
Tapi buat ngunci 3 tombol (CTL + ALT + DEL) koq modify nya susah. Mas Aries bisa
ngasih pencerahan !?
thxB4
aries <[EMAIL PROTECTED]> on 15/09/2006 09:03:05 AM
Please respond to [email protected]
To: [email protected]
cc: (bcc: Toni Rahayu/IT/domino_srv)
Subject: RE: [indoprog-vb] Re: Tanya Tombol Keyboard
coba buat project baru trus di module copy paste code berikut :
'**************************************
'Windows API/Global Declarations for :
'Disable Low Level Keys
'**************************************
Option Explicit
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory"
(Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As
Integer
Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA"
(ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId
As Long) As Long
Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal
nCode As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long)
As Long
Private Const HC_ACTION = 0
Private Const WM_KEYDOWN = &H100
Private Const WM_KEYUP = &H101
Private Const WM_SYSKEYDOWN = &H104
Private Const WM_SYSKEYUP = &H105
Private Const VK_TAB = &H9
Private Const VK_CONTROL = &H11
Private Const VK_ESCAPE = &H1B
Private Const VK_F4 = &H73
Private Const VK_DELETE = &H2E
Private Const WH_KEYBOARD_LL = 13
Private Const LLKHF_ALTDOWN = &H20
Private Const vbKeyLWin As Integer = 91
Private Const vbKeyRWin As Integer = 92
Private Type KBDLLHOOKSTRUCT
vkCode As Long
scanCode As Long
flags As Long
time As Long
dwExtraInfo As Long
End Type
Dim p As KBDLLHOOKSTRUCT
Private hhkLowLevelKybd As Long
Private Function LowLevelKeyboardProc(ByVal nCode As Long, ByVal wParam As
Long, ByVal lParam As Long) As Long
Dim fEatKeystroke As Boolean
If (nCode = HC_ACTION) Then
If wParam = WM_KEYDOWN Or wParam = WM_SYSKEYDOWN Or wParam = WM_KEYUP Or
wParam = WM_SYSKEYUP Then
CopyMemory p, ByVal lParam, Len(p)
'disable ALT+TAB, ALT+ESC, CTL+ESC
fEatKeystroke = ((p.vkCode = VK_TAB) And ((p.flags And
LLKHF_ALTDOWN) <> 0)) Or _
((p.vkCode = VK_ESCAPE) And ((p.flags And
LLKHF_ALTDOWN) <> 0)) Or _
((p.vkCode = VK_ESCAPE) And
((GetKeyState(VK_CONTROL) And &H8000) <> 0)) Or _
((p.vkCode = VK_F4) And ((p.flags And LLKHF_ALTDOWN)
<> 0)) Or _
p.vkCode = vbKeyLWin Or p.vkCode = vbKeyRWin
End If
End If
If fEatKeystroke Then
LowLevelKeyboardProc = -1
Else
LowLevelKeyboardProc = CallNextHookEx(0, nCode, wParam, ByVal lParam)
End If
End Function
Public Sub DisableKey(Status As Boolean)
On Error Resume Next
If Status = True Then
hhkLowLevelKybd = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf
LowLevelKeyboardProc, App.hInstance, 0)
Else
UnhookWindowsHookEx hhkLowLevelKybd
hhkLowLevelKybd = 0
End If
End Sub
untuk di form kodenya seperti berikut:
Private Sub Form_Load()
Call DisableKey(True)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call DisableKey(False)
End Sub
module diatas juga menonaktifkan tombol ALT+TAB, ALT+ESC, CTL+ESC selain
tombol Start
Selamat mencoba
dave-g <[EMAIL PROTECTED]> wrote:
Maaf saya baru bisa baca email. Terima kasih buat responnya mas Santo.
Tetapi yang saya inginkan itu mendisable-kan tombol di keyboard kan ada
buat nge-muncul-kan MENU START windows, nah tombol tersebut yang ingin
saya hilangkan. Mungkin Anda bisa bantu??
Saya sudah deteksi tombol tersebut keycode-nya = 91. Lalu saya buat
program sebagai berikut :
Sub Form_Keydown(....)
If KeyCode =91 then
KeyCode=0
End if
End sub
Tetapi program ini tetap gagal alias menu start-nya masih saja muncul.
Thx.
[Non-text portions of this message have been removed]
---------------------------------
Stay in the know. Pulse on the new Yahoo.com. Check it out.
[Non-text portions of this message have been removed]
Toni Rahayu
PT. Omedata Electronics
IT Department
Hunting : (62-22) 6030805 Ext 121
Faxs : (62-22) 6030896
Homepage : http://toni.rahayu.tripod.com
Untuk berhenti berlangganan kirim email kosong ke : [EMAIL PROTECTED]
Bagi terjangkit virus lokal, zip virus tersebut
dan kirim ke [EMAIL PROTECTED], kami
akan membuat removalnya untuk anda.
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/indoprog-vb/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/indoprog-vb/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/