论坛: 编程破解 标题: 如何在2000中用VB实现键盘锁定? 复制本贴地址    
作者: xiaoxpyao [xiaoxpyao]    论坛用户   登录
请回答的详细一点好吗?我真的很菜谢了!

地主 发表时间: 07/25 12:02

回复: xiaoxpyao [xiaoxpyao]   论坛用户   登录
怎样才能将ctrl+alt+del锁定呀,拜托了!

B1层 发表时间: 07/28 23:53

回复: 286 [unique]   版主   登录
你菜不菜不知道,但你的问题不算很菜.
我记得在90下类似一个钩子调用.在2000下可能得用底层驱动级编程.
没用过,所以不断乱说.


B2层 发表时间: 07/29 09:20

回复: xiaoxpyao [xiaoxpyao]   论坛用户   登录
那,老大,我应该怎样做好呢?
还有什么钩子调用,底层驱动级编程.那都是些什么东东?
望指教~~~

B3层 发表时间: 07/30 13:20

回复: 286 [unique]   版主   登录
Win2000下锁定键盘和鼠标。 
在CSDN上看到一个未公开的API函数BlockInput,在user32.dll中,用它可以
轻易的锁定键盘和鼠标。

BOOL __stdcall (*BlockInput)(BOOL Flag);
(FARPROC)BlockInput = GetProcAddress(GetModuleHandle(
"user32.dll"), "BlockInput");
if (BlockInput) BlockInput(TRUE); //这样就可以了

B4层 发表时间: 07/30 16:43

回复: xiaoxpyao [xiaoxpyao]   论坛用户   登录
BOOL __stdcall (*BlockInput)(BOOL Flag);
(FARPROC)BlockInput = GetProcAddress(GetModuleHandle(
"user32.dll"), "BlockInput");
这是定义吗?

B5层 发表时间: 07/30 23:28

回复: xiaoxpyao [xiaoxpyao]   论坛用户   登录
老大,或许是我太笨,我真的是看不太明白,以上的这段代码到底是应该怎么用,其中的两个API函数GetProcAddress和GetModuleHandle是不是还需要定义?那个名为BlockInput的函数是不是也要定义,是把它们放到那呢?我也在CSDN上找过类似的贴子,但看他们留的说好像还需要一个什么.dll文件,这个.dll怎么编呀?好像用vb编不好,那我应该怎么办呀?你有这样的.dll文件吗?我是否可以共用这个文件?

B6层 发表时间: 08/01 17:00

回复: xiaoxpyao [xiaoxpyao]   论坛用户   登录
还有我找到了一个人“lihonggen0”写的三段使ctrl+alt+del屏蔽的代码,但我不知道这三段代码正不正确(我用的时候,老是出现找不到.dll入口点),请大家帮我调试一下好吗?谢谢了!代码如下:
第一段:
'屏蔽Ctrl+Alt+Del:
Option Explicit
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long

Private Const RSP_SIMPLE_SERVICE = 1
Private Const RSP_UNREGISTER_SERVICE = 0

Private Sub MakeMeService()
    Dim pid As Long
    Dim reserv As Long
    pid = GetCurrentProcessId()
    RegisterServiceProcess pid, RSP_SIMPLE_SERVICE
End Sub

Private Sub UnMakeMeService()
    Dim pid As Long
    Dim reserv As Long
    pid = GetCurrentProcessId()
    RegisterServiceProcess pid, RSP_UNREGISTER_SERVICE
End Sub
   
Private Sub Command1_Click()
    Call MakeMeService 'ʹ´°¿ÚÒþ²Ø
End Sub

Private Sub Command2_Click()
    Call UnMakeMeService  'ʹ´°¿ÚÏÔʾ
End Sub
第二段:
'模块里内容 
Private Declare Function SystemParametersInfo Lib _
"user32" Alias "SystemParametersInfoA" (ByVal uAction _
As Long, ByVal uParam As Long, ByVal lpvParam As Any, _
ByVal fuWinIni As Long) As Long
Sub DisableCtrlAltDelete(bDisabled As Boolean)
    ' Disables Control Alt Delete Breaking as well as Ctrl-Escape
    Dim X As Long
    X = SystemParametersInfo(97, bDisabled, CStr(1), 0)
End Sub
'窗体代码 
Private Sub Command1_Click()
 DisableCtrlAltDelete (False)
End Sub

Private Sub Command2_Click()
  DisableCtrlAltDelete (True)
End Sub
第三段:
Option Explicit
Const SPI_SCREENSAVERRUNNING = 97

Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long

'=================================disable
Call SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, "1", 0)
'=================================enable
Call SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, "1", 0)
以上就是这三段代码,请大家帮忙调试,在下感激不尽!

B7层 发表时间: 08/01 17:02

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号