编写后台监控软件的技巧

 我来答
白露饮尘霜17
2022-11-20 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6726
采纳率:100%
帮助的人:36.6万
展开全部

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

   一 把当前进程变为一个系统服务   目的是在任务列表中把程序隐藏起来 调用API函数RegisterServiceProcess实现

   二 定义全局热键(本例中定义热键Ctrl+Del+R)   步骤    定义捕获Windows消息WM_HOTKEY的钩子函数 即 procedure WMHotKey(var Msg : MHotKey); message WM_HOTKEY;    向Windows加入一个全局原子 Myhotkey: GlobalAddAtom( MyHotkey ) 并保留其句柄    向Windows登记热键 调用API函数RegisterHotKey实现

   三 设计界面和源程序 unit Unit ; interface uses Windows Messages Forms Dialogs Classes Controls StdCtrls; type TForm = class(TForm) Button : TButton; Button : TButton; procedure FormCreate(Sender: TObject); procedure Button Click(Sender: TObject); procedure Button Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private {热键标识ID} id: Integer; procedure WMHotKey(var Msg : MHotKey); message WM_HOTKEY; { Privat Declarations} public { Public Declarations} end; var Form : TForm ; implementation const RSP_SIMPLE_SERVICE= ; function RegisterServiceProcess (dwProcessID dwType: DWord) : DWord; stdcall; external KERNEL DLL ; {$R * DFM}

{捕获热键消息} procedure TForm WMHotKey (var Msg : MHotKey); begin if msg HotKey = id then ShowMessage( Ctrl+Alt+R键被按下! ); form Visible :=true; end;

procedure TForm FormCreate(Sender: TObject); Const {ALT CTRL和R键的虚拟键值} MOD_ALT = ; MOD_CONTROL = ; VK_R = ; begin {首先判断程序是否已经运行} if GlobalFindAtom( MyHotkey ) = then begin {注册全局热键Ctrl + Alt + R} id:=GlobalAddAtom( MyHotkey ); RegisterHotKey(handle id MOD_CONTROL+MOD_Alt VK_R); end else halt; end;

{把当前进程变为一个系统服务 从而在任务列表中把程序隐藏起来} procedure TForm Button Click(Sender: TObject); begin RegisterServiceProcess(GetCurrentProcessID RSP_SIMPLE_SERVICE); form Hide; end;

procedure TForm Button Click(Sender: TObject); begin close; end; {退出时释放全局热键} procedure TForm FormClose(Sender: TObject; var Action: TCloseAction); begin UnRegisterHotKey(handle id); GlobalDeleteAtom(id); end; end

lishixinzhi/Article/program/Delphi/201311/25039

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式