CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

如何使ALT+CTRL+DELETE和ALT+TAB失效?

楼主DelphiStudy(拿下BCD就去搞C++)2002-09-26 09:06:46 在 Delphi / VCL组件开发及应用 提问

急急急!!!!!!!!!!!!!!!!!!!  
                                    如何使ALT+CTRL+DELETE和ALT+TAB失效?  
  编了一个小程序,不想让别人用我计算机时就启动它,但别人"结束任务"就把它的生命"结束"了!!!  
                                                              怎办??? 问题点数:75、回复次数:10Top

1 楼outer2000(天外流星)回复于 2002-09-26 09:09:38 得分 5

2000下好象不可以Top

2 楼anan3000(anan)回复于 2002-10-20 18:21:14 得分 5

2k下要用到hookTop

3 楼ravenkatte(Oracle Applications DBA/Technical Consultant)回复于 2002-10-20 18:28:16 得分 5

不可以~Top

4 楼ghyghost(爱国人士-许愿池里的希腊老石头)回复于 2002-10-20 19:34:11 得分 32

要想在任务列表也将自己的程序隐藏就要借用kernel32.DLL中的RegisterServiceProcess这个函数了。由于要从DLL加载函数,我们先在头文件中加入:  
   
  typedef   DWORD   (__stdcall   *pRegFunction)(DWORD  
   
  DWORD);  
   
  在主Form的类定义中加入两个私有属性:  
   
  HINSTANCE   hKernelLib;  
   
  pRegFunction   RegisterServiceProcess;  
   
  用于记录从DLL加入的函数信息。  
   
  然后在主Form的构造代码中加入如下代码:  
   
  hKernelLib   =   LoadLibrary("kernel32.dll");  
   
  if(hKernelLib)  
   
  {  
   
  RegisterServiceProcess   =  
   
  (pRegFunction)GetProcAddress(hKernelLib  
   
   
  RegisterServiceProcess  
   
  );  
   
  if(RegisterServiceProcess)  
   
  RegisterServiceProcess(GetCurrentProcessId()  
   
  RSP_SIMPLE_SERVICE);  
   
  }  
   
  这段代码主要是把当前进程变为一个系统服务,从而在任务列表中把程序隐藏起来  
   
  相应的在构析代码中加入  
   
  if(hKernelLib)  
   
  {  
   
  if(RegisterServiceProcess)  
   
  RegisterServiceProcess(GetCurrentProcessId()  
   
   
  RSP_UNREGISTER_SERVICE);  
   
  FreeLibrary(hKernelLib);  
   
  }  
   
  这样处理之后,程序就不在任务列表中出现了,  
   
   
  祝:身体健康!Top

5 楼aaronwou(阿龙)回复于 2002-10-20 19:37:01 得分 3

天呐,谁能告诉我新的版本怎么提问,我怎么找补到提问的按钮啊?Top

6 楼smhpnuaa(天将降大任于斯人也!)回复于 2002-10-20 19:51:21 得分 5

2000下要用到gina,不过没有基于delphi的,我做过,不过公司不让公开Top

7 楼slwqw(四大名捕之追杀令)回复于 2002-10-21 07:33:53 得分 5

如果别人真想结束你的程序,又何必一定使用任务管理器??,任何一个进程管理器都可以搞定!比如“Windows优化大使”就可以搞定!Top

8 楼slwqw(四大名捕之追杀令)回复于 2002-10-21 07:37:55 得分 5

而且就算编写GINA也没有什么用处(我是说对防止程序被关掉没有用处!)!!!!你按一下Ctrl   +   Shift   +   Esc组合键看看什么出来了?Top

9 楼coolicelee(寒冰)回复于 2002-10-21 07:44:25 得分 5

你就不会在关闭事件中再加一条启动本程序的语句,我就这样干过Top

10 楼qiqi97(迷茫)回复于 2002-10-21 13:48:28 得分 5

http://www.iligia.com/chinese/documents/program/dishotkey.htmTop

相关问题

  • <windows 核心编程>上APIHOOK,遇Ctrl+Alt+Delete失效
  • 如何使CTRL+ALT+DEL组合键失效
  • 怎样屏蔽Alt+Tab和Ctrl+Alt+Del?
  • 任何使alt+f4失效?
  • 请教如何使用PB使得windows的热键失效(win键,Ctrl+Alt+Del三键热启)
  • 在windows2000下,请问如何使CTRL+ALT+DELETE失效或是在任务栏里屏蔽程序?急呀!
  • 怎樣鎖定Win2000的鍵盤( Ctrl+Alt+DEL . Alt-Tab . Winkey . Ctrl-ESC )
  • 有办法使ALT+F4键失效吗?
  • vb中怎样使Alt+F4失效
  • 如何屏蔽CTRL+ALT+DEL和ALT+TAB,WIN键?

关键词

  • 函数
  • 代码
  • dll
  • hkernellib
  • registerserviceprocess
  • pregfunction
  • alt
  • 程序
  • 任务
  • 列表

得分解答快速导航

  • 帖主:DelphiStudy
  • outer2000
  • anan3000
  • ravenkatte
  • ghyghost
  • aaronwou
  • smhpnuaa
  • slwqw
  • slwqw
  • coolicelee
  • qiqi97

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo