《黑客的秘密武器》之补丁
?牐犗忍柑浮癈trl+Alt+Del”问题,目前较为流行的做法不是屏蔽掉这三个键,而是使用户在按下这三个键时,不能看到你的程序。它的实现也是靠调用API。具体如下:
?牐牐г谕ㄓ蒙髦屑尤肴缦麓耄?
?牐燩rivate Declare Function GetCurrentProcessId Lib “kernel32” () As Long
?牐燩rivate Declare Function GetCurrentProcess Lib “kernel32” () As Long
?牐燩rivate Declare Function RegisterServiceProcess Lib “kernel32”(ByVal dwProcessID As Long _ ByVal dwType As Long) As Long
?牐牐г贔orm的Load事件中加入的代码
?牐燩rivate Sub Form_Load()
?牐燚im MyReturn
?牐燤yReturn= RegisterServiceProcess(lngI, 1)
?牐燛nd Sub
?牐犗衷谠诵心愕某绦颍缓蟀聪隆癈trl+Alt+Del”,能看到你的程序在运行吗?
?牐犘枰得鞯氖牵庵址椒ú⒉皇屎嫌赪in NT和Win 2000,也会在某些系统进程查看程序的法眼下原形毕露。
?牐犇壳傲餍惺褂谩拔募亓ā保降奈募亓荳indows里的一个概念,比如文本文件(.txt)默认用记事本打开,就是建立了txt文件与记事本notepad.exe程序的关联,用户在双击txt文件时,系统就会自动调用notepad.exe程序。说到这里,很多人也许明白:建立txt文件或别的文件与自己程序的关联代替系统默认关联不就行了吗?哈,就是这样的,下面以为.cui文件建立关联为例给出具体的实现过程:
?牐犘陆ㄒ桓龉こ獭2⒃诖疤逯刑砑右桓霭磁ァ4肴缦拢?
?牐牐?通用声明中的代码:
?牐燩rivate Declare Function RegCreateKey Lib “advapi32.dll” Alias “RegCreateKeyA”,ByVal hKey As Long(ByVal lpSubKey As String, phkResult As Long) As Long
?牐燩rivate Declare Function RegSetValue Lib “advapi32.dll” Alias “RegSetValueA” (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long 'API声明
?牐燙onst HKEY_CLASSES_ROOT = &H80000000
?牐燙onst REG_SZ = 1
?牐牐О磁?Click事件中的代码:
?牐燩rivate Sub Command1_Click()
?牐燚im sKeyName As String '存储键名
?牐燚im sKeyValue As String '存储键值
?牐燚im MyReturn As Long '存储返回值信息
?牐燚im keyhandle As Long
?牐爏KeyName = “Test”
?牐爏KeyValue = “Test Application”
?牐燤yReturn& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, keyhandle&)
?牐燤yReturn& = RegSetValue&(keyhandle&, “”, REG_SZ,sKeyValue,0&)??
?牐燤sgBox MyReturn&
?牐爏KeyName = “.cui” '要建立关联的文件后缀名
?牐爏KeyValue = “Test”
?牐燤yReturn& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, keyhandle&)
?牐燤yReturn& = RegSetValue&(keyhandle&, “”, REG_SZ, sKeyValue, 0&)??
?牐爏KeyName = “Test”
?牐爏KeyValue = “D:\VB程序-大三\BBS浏览器\notepad.exe %1” '自己程序的位置和名称 注意后面的“%1”不要漏掉
?牐燤yReturn& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, keyhandle&)
?牐燤yReturn& = RegSetValue&(keyhandle&, “shell\open\command”, REG_SZ, sKeyValue, MAX_PATH)
?牐燛nd Sub
?牐犜诵幸陨洗耄突峤?立后缀名为cui的文件与“D:\VB程序-大三\BBS浏览器\notepad.exe”程序的关联,以后,用户在运行cui文件时,就会自动启动自己的程序了。