Delphi编写后台监控软件

http://www.cnblogs.com/bjxsky/p/4616720.html

文章来源: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中运行通过。

时间: 2024-08-01 10:45:11

Delphi编写后台监控软件的相关文章

转 : 用Delphi编写安装程序

http://www.okbase.net/doc/details/931  还没有亲自验证过,仅收藏 当你完成一个应用软件的开发后,那么你还需要为该软件做一个规范化的安装程序,这是程序设计的最后一步,同时也是很重要的一步,因为运行安装程序往往是用户做的第一步操作.很多报刊文章介绍了许多如何利用installshield等工具软件来制作安装程序的方法,这种办法可以很快建立起较常见的安装模式,但用这种办法也有一些不足,如做成的安装程序一般较大:风格较单一:不能灵活的控制启动方式和快捷方式.其实安装

怎么样用局域网监控软件看到员工电脑桌面状态?

因为管理员工合理上网.有效率工作的需要,很多公司除了制定相关上网制度外,都选择安装局域网监控软件作为辅助管理工具,通过实时员工电脑桌面监控,清晰了解员工上班是否有做与工作无关的事.下面介绍如何安装局域网监控软件实现员工电脑桌面监控. 1.首先,在百度上搜索并进入局域网监控软件官网下载并安装网卫局域网监控软件,下载完成后,将压缩包进行解压,分别在员工端和管理端进行安装. 2.设置登陆账号密码,登陆局域网远程监控软件管理后台. 3.设置添加员工用户,即可根据右边实时画面.多画面监控.屏幕记录等功能进

步步为营-73-asp.net的简单练习(根据美工提供静态页面,编写后台代码)

说明:实际企业中开发分工是很明确,往往程序员根据美工提供的UI界面进行后台代码的编写. 1.1 原始HTML页面 1.2 使用aspx进行修改 这里使用到了三层架构 using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; namesp

65.常见开源监控软件、zabbix监控介绍、配置

一.常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon等等 cacti.smokeping偏向于基础监控,成图非常漂亮 cacti.nagios.zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图 open-falcon为小米公司开发,开源后受到诸多大公司和运

监控软件 zabbix

监控软件 监控软件:zabbix,nagios,cacti,ganglia 1).zabbix 定义:Zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. 性能:zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. 适用范围:支持设备多,自带多种监控模板 支持分布式集中管理,有自动发现功能,可以实现自动化监控 缺点:需在被监控主机上安装 agent,所有数据都存在数据库里, 产生

听说很多公司安装了电脑监控软件,到底是为了什么?

听说很多公司安装了电脑监控软件,到底是为了什么?企业安装公司电脑监控软件并不是为了监控员工上班在跟谁qq聊天.聊些什么内容.在看什么网页--.而是借用公司电脑监控软件为管理工具,通过软件规范和管理员工,提高工作效率. 1.指导和培训员工 比如通过安装公司电脑监控软件,利用实时画面监控,在管理端实时查看员工工作过程,以此了解该员工具体工作是否存在不足,对其进行有针对性的指导和培训 2.提升销售员沟通能力 比如在电脑监控软件管理端,可以看到被控端员工电脑与客户聊天过程和聊天记录,管理者可以找出其中沟

cacti监控软件

cacti监控软件: 部署cacti运行环境 # yum -y install httpd mysql mysql-server mysql-devel php php-mysql # yum -y install zlib freetype libjpeg fontconfig libxml2 gd php-gd # yum -y install rrdtool # yum -y install net-snmp net-snmp-utils # service httpd start # c

企业级监控软件使用zabbix key监控nginx status各种状态

因业务需要需要用zabbix来监控nginx status,具体是如下的做法: 1. 首先在nginx的配置文件中添加如下内容,需要注意的是nginx的文件格式,在allow中我们需要注意的是需要添加zabbix server的IP地址,不然无法采集到数据, 2. 重启nginx服务器查看nginx服务器是否能正常打开, Nginx status状态说明: Active connections: 35 对后端发起的活动链接数 server accepts handled requests 186

delphi编写与调用DLL(delphi7下测试通过)

http://blog.sina.com.cn/s/blog_4dbbf76f01000anz.html 1 delphi编写DLL 2 下面在delphi中编写一个简单的dll,在该dll中只有一个max函数,返回2个数中的大数(Delphi 5.0) 3 1.New->DLL;取名为DLL_0001,编写代码: 4 library dll_0001; 5 uses 6 SysUtils, 7 Classes; 8 {$R *.RES} 9 function max(x,y:integer):