当前位置: 网学 > 编程文档 > VB > 正文

让应用程序从Ctrl-Alt-Del列表中消失

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式

山东济宁鲁抗医药集团研究所  许振华

---- 在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 中 调 试 通 过。 

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号