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/
 



Kirim email ke