天天加油 - 助您成才
Delphi编写后台监控软件
您正在看的DELPHI是:Delphi编写后台监控软件。

  后台监控软件,为了达到隐蔽监控的目的,应该满足正常运行时,不显示在任务栏上,在按Ctrl+Alt+Del出现的任务列表中也不显示,管理员可以通过热键调出隐藏的运行界面。要作到这些,必须把当前进程变为一个系统服务,并且定义全局热键。

  一、把当前进程变为一个系统服务:

  目的是在任务列表中把程序隐藏起来。调用API函数RegisterServiceProcess实现。

  二、定义全局热键(本例中定义热键Ctrl+Del+R),步骤:

  1、定义捕获Windows消息WM_HOTKEY的钩子函数,即:procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY;

  2、向Windows加入一个全局原子 Myhotkey: GlobalAddAtom(’MyHotkey’), 并保留其句柄。

  3、向Windows登记热键:调用API函数RegisterHotKey实现。

  三、源程序:

  unit Unit1;

  interface

  uses

  Windows, Messages, Forms, Dialogs, Classes, Controls, StdCtrls;

  type

  TForm1 = class(TForm)

  Button1: TButton;

  Button2: TButton;

  procedure FormCreate(Sender: TObject);

  procedure Button1Click(Sender: TObject);

  procedure Button2Click(Sender: TObject);

  procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private

  {热键标识ID}

  id: Integer;

  procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY;

  { Privat-Declarations}

  public

  { Public-Declarations}

  end;

  var

  Form1 : TForm1;

  implementation

  const RSP_SIMPLE_SERVICE=1;

  function RegisterServiceProcess (dwProcessID, dwType: DWord) : Dword; stdcall; external ’KERNEL32.DLL’;

  {$R *.DFM}

  {捕获热键消息}

  procedure TForm1.WMHotKey (var Msg : TWMHotKey);

  begin

  if msg.HotKey = id then

  ShowMessage(’Ctrl+Alt+R键被按下!’);

  form1.Visible :=true;

  end;

  procedure TForm1.FormCreate(Sender: TObject);

  Const

  {ALT、CTRL和R键的虚拟键值}

  MOD_ALT = 1;

  MOD_CONTROL = 2;

  VK_R = 82;

  begin

  {首先判断程序是否已经运行}

  if GlobalFindAtom(’MyHotkey’) = 0 then

  begin

  {注册全局热键Ctrl + Alt + R}

  id:=GlobalAddAtom(’MyHotkey’);

  RegisterHotKey(handle,id,MOD_CONTROL+MOD_Alt,VK_R);

  end

  else

  halt;

  end;

  {把当前进程变为一个系统服务,从而在任务列表中把程序隐藏起来}

  procedure TForm1.Button1Click(Sender: TObject);

  begin

  RegisterServiceProcess(GetCurrentProcessID,RSP_SIMPLE_SERVICE);

  form1.Hide;

  end;

  procedure TForm1.Button2Click(Sender: TObject);

  begin

  close;

  end;

  {退出时释放全局热键}

  procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

  begin

  UnRegisterHotKey(handle,id);

  GlobalDeleteAtom(id);

  end;

  end.

  四、说明:

  在后台监控软件中使用以上功能,可真正实现隐蔽运行,热键调出,便于管理员进行管理。程序在Win98,Delphi5.0中运行通过。

排行

  1. Delphi存取图像完整解决方案
  2. 听说过WinZip软件也可以“杀毒”
  3. 利用Delphi开发旅游景点微机售票
  4. 在DBGrid组件中显示和编辑MEMO字
  5. 学好VC++的十大良好习惯
  6. DELPHI数据库应用程序的开发环境
  7. 汇编DEBUG全过程跟踪
  8. 汇编中的管道操作方法(一)
  9. 汇编中的管道操作方法(二)
  10. 汇编中的管道操作方法(三)
  11. 汇编进程控制的实现方法(一)
  12. 汇编进程控制的实现方法(二)
  13. 汇编中使用定时器的方法
  14. 汇编复杂形状的窗口实例学习
  15. 汇编图形界面的操作
  16. 汇编菜单和加速键(一)
  1. VB的程序加密方法
  2. FlexGrid控件的使用
  3. vb的CommonDialog控件的使用
  4. vb的FlexGrid控件
  5. vb的按钮控件
  6. Delphi存取图像完整解决方案
  7. 在 DB2 SQL 存储过程中使用 XML
  8. 教你修改“压缩文件”的使用小技
  9. 在WebSphere和DB2中使用标准数据
  10. 使用 Visual FoxPro 的 ImageLis
  11. 听说过WinZip软件也可以“杀毒”
  12. 利用Delphi开发旅游景点微机售票
  13. 在DBGrid组件中显示和编辑MEMO字
  14. vb的属性、方法和事件(一)
  15. vb的属性、方法和事件(二)
  16. vb控件的使用
  1. VB的程序加密方法
  2. FlexGrid控件的使用
  3. vb的CommonDialog控件的使用
  4. vb的FlexGrid控件
  5. vb的按钮控件
  6. 教你修改“压缩文件”的使用小技
  7. vb的属性、方法和事件(一)
  8. vb的属性、方法和事件(二)
  9. vb控件的使用
  10. vb的控件数据
  11. vb控件简介
  12. vb程序设计
  13. vb的工具栏、对话框
  14. vb菜单在应用程序中的使用
  15. vb的用户界面
  16. vb对象的使用

最近更新

  • 推荐阅读
  • DELPHI《Delphi编写后台监控软件》Delphi编写后台监控软件
    关于我们 | 版权申明 | 广告服务 | 友情链接 | 网站地图 | 使用帮助 | ©2006-2008 TTADD.COM