讓應用程序從Ctrl-Alt-Del列表中消失
發表于:2007-07-14來源:作者:點擊數:
標簽:
山東濟寧魯抗醫藥集團研究所許振華 ---- 在WIN9X 中, 如 果 你 按 下Ctrl-Alt-Del, 就 會 看 到 目 前 打 開 的 應 用 程 序。 現 在 的 一 些 黑 客 程 序 是 從 Ctrl-Alt-Del 列 表 中 看 不 到 的, 那 么 這 是 如 何 實 現 的, 想 使 你 的 程 序 也
山東濟寧魯抗醫藥集團研究所 許振華
---- 在WIN9X 中, 如 果 你 按 下Ctrl-Alt-Del, 就 會 看 到 目 前 打 開 的 應 用 程 序。 現 在 的 一 些 黑 客 程 序 是 從 Ctrl-Alt-Del 列 表 中 看 不 到 的, 那 么 這 是 如 何 實 現 的, 想 使 你 的 程 序 也 被 別 人 看 不 到 嗎 ? 下 面 告 訴 是 實 現 的 方 法。
---- 要 實 現 這 一 點, 需 要 將 你 的 程 序 注 冊 為 服 務 器(service), 這 可 以 利 用RegisterService API 函 數 將 程 序 的 進 程ID 進 行 注 冊 來 實 現。 但 程 序 退 出 時 不 要 忘 記 需 要 使 用 此API 函 數 將 服 務 器 注 冊 取 消。 下 面 以VB 程 序 舉 例 說 明。
---- 在 窗 體 中 加 入 兩 個 按 鈕,Command1、Command2, 在 窗 體 的 總 體 聲 明 部 分 聲 明API 函 數、 需 要 的 常 數 并 編 寫 注 冊 和 釋 放 注 冊 的 過 程:
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()
regserv = RegisterServiceProcess
(pid, RSP_SIMPLE_SERVICE)
End Sub
Private Sub UnMakeMeService()
Dim pid As Long
Dim reserv As Long
pid = GetCurrentProcessId()
regserv = RegisterServiceProcess(pid, _
RSP_UNREGISTER_SERVICE)
End Sub
雙擊命令按鈕1, 寫如下代碼:
Private Sub Command1_Click()
Call MakeMeService
End Sub
雙擊命令按鈕2, 寫如下代碼:
Private Sub Command2_Click()
Call UnMakeMeService
End Sub
---- 下 面 就 可 以 運 行 了, 運 行 此 程 序, 單 擊 按 鈕1, 按 下Ctrl-Alt-Del 鍵, 在 列 表 中 看 到 你 的 程 序 了 嗎 ? 再 單 擊 按 鈕2, 按 下Ctrl-Alt-Del, 再 看 一 看 發 生 了 什 么 ?
---- 本 程 序 在VB 5.0、WIN98 中 調 試 通 過。
原文轉自:http://www.anti-gravitydesign.com