在Delphi中隐藏程序进程的方法

在Delphi中隐藏程序进程的方法

ID:40642186

大小:59.00 KB

页数:22页

时间:2019-08-05

在Delphi中隐藏程序进程的方法_第1页
在Delphi中隐藏程序进程的方法_第2页
在Delphi中隐藏程序进程的方法_第3页
在Delphi中隐藏程序进程的方法_第4页
在Delphi中隐藏程序进程的方法_第5页
资源描述:

《在Delphi中隐藏程序进程的方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、在Delphi中隐藏程序进程方法[1]主要需要解决两个问题,即隐藏窗口和设定热键。一.隐藏窗口通过API函数GETACTIVEWINDOW获取当前窗口;函数ShowWindow(HWND,nCmdShow)的参数nCmdShow取SW_HIDE时将之隐藏,取SW_SHOW时将之显示。例如:showwindow(getactivewindow,sw_hide)。隐藏好窗体后,须记住窗体句柄以便恢复。二.键盘监控为了实现键盘监控须用到钩子。以下是程序的源文件:一、创建一个动态链接库unitHKHide;//链接库中的Un

2、it文件interfaceuses  Windows,Messages,sysutils;var  hNextHookHide:HHook;  HideSaveExit:Pointer;  hbefore:longint;functionKeyboardHookHandler(iCode:Integer;wParam:WPARAM;    lParam:LPARAM):LRESULT;stdcall;export;functionEnableHideHook:BOOL;export;functionDisableHi

3、deHook:BOOL;export;procedureHideHookExit;far;implementationfunctionKeyboardHookHandler(iCode:Integer;wParam:WPARAM;    lParam:LPARAM):LRESULT;stdcall;export;const_KeyPressMask=$80000000;var  f:textfile;  temp:string;begin  Result:=0;  IfiCode<0Then  beginResult

4、:=CallNextHookEx(hNextHookHide,iCode,wParam,lParam);Exit;  end;  //侦测Ctrl+Alt+F12组合键  if((lParamand_KeyPressMask)=0)  //按下时生效   and(GetKeyState(vk_Control)<0)   and(getkeystate(vk_menu)<0)   and(wParam=vk_F12)then  beginResult:=1;//文件不存在则创建ifnotfileexists('c:t

5、est.txt')thenbegin  assignfile(f,'c:test.txt');  rewrite(f);  writeln(f,0);  closefile(f);endelsebegin  assignfile(f,'c:test.txt');  reset(f);  readln(f,temp);  hbefore:=strtoint(temp);  begin     hbefore:=getactivewindow;     temp:=inttostr(hbefore);     rew

6、rite(f);     writeln(f,temp);     closefile(f);     ShowWindow(hbefore,SW_HIDE);  end;end;//endifFileExists(....)  end  elsebeginshowwindow(hbefore,SW_SHOW);rewrite(f);writeln(f,0);closefile(f);  end;//endifCtrl+Alt+F12按键end;functionEnableHideHook:BOOL;export;b

7、egin  Result:=False;  ifhNextHookHide<>0thenExit;  //挂上WH_KEYBOARD这型的HOOK,同时,传回值必须保留下  //来,免得HOOK呼叫链结断掉  hNextHookHide:=SetWindowsHookEx(WH_KEYBOARD,  KeyboardHookHandler,HInstance,0);  Result:=hNextHookHide<>0;end;functionDisableHideHook:BOOL;export;begin  ifh

8、NextHookHide<>0then  beginResult:=True;UnhookWindowshookEx(hNextHookHide);//解除KeyboardHookhNextHookHide:=0;  end  elseResult:=False;end;procedureHideHookExit;begin  //如果忘了解除

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。