zzm0163 发表于 2010-11-13 21:06:28

请问如何屏蔽掉DEL键 已解决

本帖最后由 zzm0163 于 2010-11-15 10:01 编辑

网吧计费系统被破解,需要屏蔽掉这个键。请高手指点

zzm0163 发表于 2010-11-13 21:50:50

各位老大,帮下忙 。急

3mile 发表于 2010-11-13 22:19:57

#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <StructureConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Opt('MustDeclareVars', 1)

Global $hHook, $hStub_KeyProc, $buf = "", $title = "", $title_1 = "", $keycode, $buffer = "", $nMsg

Local $hmod
$hStub_KeyProc = DllCallbackRegister("_KeyProc", "long", "int;wparam;lparam")
$hmod = _WinAPI_GetModuleHandle(0)
$hHook = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL, DllCallbackGetPtr($hStub_KeyProc), $hmod)
While 1
      Sleep(1)
WEnd

Func _KeyProc($nCode, $wParam, $lParam)
      Local $tKEYHOOKS, $wVKey
      $tKEYHOOKS = DllStructCreate($tagKBDLLHOOKSTRUCT, $lParam)
      If $nCode < 0 Then
                Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
      EndIf
      $wVKey = DllStructGetData($tKEYHOOKS, "vkCode")
                If $wVKey=0x1b Then _exit()
      If ($wVKey = 0x2e) Then
                If ($wParam = $WM_KEYDOWN) Then
                        ToolTip("{del} was pressed.")
                        Return 1
                EndIf
      EndIf
      Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
EndFunc      ;==>_KeyProc

Func _exit()
      _WinAPI_UnhookWindowsHookEx($hHook)
      DllCallbackFree($hStub_KeyProc)
      Exit
EndFunc   ;==>_exit

zzm0163 发表于 2010-11-14 12:17:54

万分感谢{:face (301):}

zzm0163 发表于 2010-11-14 12:19:02

这个只有脚本在运行的时候才能屏蔽,退出脚本后,就不行了。有没有直接写入系统的方法呢。

m765555 发表于 2010-11-15 09:28:27

循环语句太占内存了,有没有其它的方法??

3mile 发表于 2010-11-15 09:56:08

回复 6# m765555
你知不知道自己在说什么?

m765555 发表于 2010-11-15 11:12:24

难道我说的不是那样的吗,真是很占呀,80%到90%,

m765555 发表于 2010-11-15 11:13:46

回复 8# m765555


我是说所有的循环语句占系统资源,我又没说针对你的源码,晕

janecd 发表于 2010-12-25 23:20:41

正好需要,学习了!!

dd20121221 发表于 2013-9-8 18:47:32

请问组合键怎样屏蔽呢?

dd20121221 发表于 2013-9-8 18:47:34

请问组合键怎样屏蔽呢?
页: [1]
查看完整版本: 请问如何屏蔽掉DEL键 已解决