CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

ctrl+alt+del?

楼主leedeqing(用户)2000-06-05 10:07:00 在 Delphi / VCL组件开发及应用 提问

曾经向网上热心的朋友请教如何使ctrl失效,先后有两位回复,先表示感谢!  
  本人的目的是做一个在商场中供顾客使用的查询系统.所以要使ctrl+alt+del按下时关闭  
  程序的对话框不出现.  
  依照一朋友的指点,发现效果不佳.  
  程序内容如下:  
  先将windows98的任务栏的"总在最前"去掉;再  
  form.keyreview为true;  
  form.align为alclient;  
  form的onkeydown为:if   key=17   then   key:=0;  
   
  请各朋友指正.  
   
  另外本人孤陋寡闻,不知键盘钩子为何物?望指点!  
   
  问题点数:50、回复次数:6Top

1 楼kxy(手举穿肠毒药,怀抱刮骨钢刀)回复于 2000-06-05 10:14:00 得分 0

你去看看SystemParametersInfo这个API函数,设置SPI_SETSCREENSAVERRUNNING  
  让系统认为屏幕保护在运行,ctrl+alt+del就会失效.Top

2 楼Hank(星星农场)回复于 2000-06-05 13:20:00 得分 50

        仔细看一下SystemParametersInfo()API函数。  
          然后可以写一个自定义函数,将系统键按自己的要求设置。  
          函数如下:  
   
  procedure   SetSystemKey(Enable:Boolean);  
  //屏蔽或恢复系统功能键仅适用于Win9X   (Ctrl+Alt+Del,Ctrl+ESC,Alt+Tab,WinKey)  
  var  
  Temporary:Integer;  
  begin  
    case   Enable   of  
      True:   SystemParametersInfo(Spi_screensaverrunning,0,@Temporary,0);  
      False:   SystemParametersInfo(Spi_screensaverrunning,1,@Temporary,0);  
    end;  
  end;  
   
  然后直接调用SetSystemKey(True);可以使Ctrl+Alt+Del失效。  
   
  Ok!  
   
  HankTop

3 楼zhaohang(眨眼杀人)回复于 2000-06-06 16:17:00 得分 0

试一试下面的程序:  
  program   small;  
   
  uses  
      WinProcs;  
   
  {$R   *.RES}  
   
  var  
        Dummy   :   integer;  
   
  begin  
      Dummy   :=   0;  
      {Disable   ALT-TAB}  
      SystemParametersInfo(   SPI_SETFASTTASKSWITCH,   1,   @Dummy,   0);  
      {Disable   CTRL-ALT-DEL}  
      SystemParametersInfo(   SPI_SCREENSAVERRUNNING,   1,   @Dummy,   0);  
  end.  
  Top

4 楼halfone(蛮牛)回复于 2000-06-06 21:59:00 得分 0

在已答问题中去找吧!Top

5 楼shylsz(星际第一颠)回复于 2000-06-07 00:26:00 得分 0

用  
  SystemParametersInfo(   SPI_SCREENSAVERRUNNING,   1,   0,   0);Top

6 楼halfone(蛮牛)回复于 2000-06-07 09:01:00 得分 0

//函数声明  
  function   RegisterServiceProcess(dwProcessID,   dwType:   Integer):   Integer;   stdcall;   external   'KERNEL32.DLL';  
  //调用  
  RegisterServiceProcess(GetCurrentProcessID,   1);//将HIDE  
  //调用  
  RegisterServiceProcess(GetCurrentProcessID,   0);//将SHOWTop

相关问题

  • ctrl+alt+del
  • ctrl+alt+del问题
  • 如何取消CTRL+ALT+DEL?
  • 如何截获Ctrl+Alt+Del?
  • 我要屏蔽CTRL+ALT+DEL
  • 怎样模拟ctrl-alt-del.
  • 如何屏蔽Ctrl+Alt+Del?
  • ntldr is missing 按 alt ctrl ,del restear
  • How to get Ctrl+Alt+Del notification In WinCE?
  • 怎样屏蔽Alt+Tab和Ctrl+Alt+Del?

关键词

  • 函数
  • 系统
  • systemparametersinfo
  • ctrl+alt+del
  • screensaverrunning
  • spi
  • registerserviceprocess
  • 调用
  • dummy
  • 失效

得分解答快速导航

  • 帖主:leedeqing
  • Hank

相关链接

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

广告也精彩

反馈

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