有没有人知道在NT下如何屏蔽ctl+alt+del ,以及其他功能键,比如104键盘的win键(100分)

  • 主题发起人 主题发起人 老莫
  • 开始时间 开始时间
呜呜,没人知道么
 
在你的程序运行过程中,"欺骗"一下Windows,
使它自以为正处在屏幕保护状态就成了!请看下面这段代码:
  var
  temp : integer;
  begin
   SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @temp, 0);
  end;
   当然,在程序结尾处千万别忘了恢复设置,
把Windows"唤醒"。代码如下:
  var
  temp : integer;
  begin
   SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, @temp, 0);
  end;

HOPE IT CAN HELP!
 
同意使用SystemParametersInfo函数,不过SPI_SETSTICKYKEYS,如果想控制系统多
查查SystemParametersInfo函数的参数,基本上都能达到。
 
在nt下ctrl-alt-del是他吹嘘的“安全”保障,没有那么容易屏蔽
 
wumeng:谢谢,但你有没有在NT下真的试过呢?这个方法是行不通的
 
好像没有解决办法...sigh...
 
to:老莫
wumeng:谢谢,但你有没有在NT下真的试过呢?这个方法是行不通的.

我没有在NT下真的试过。我刚才试了,函数成功了。但不能屏蔽ctl+alt+del。
代码如下:
procedure TForm1.Button12Click(Sender: TObject);
var temp:integer;
isNoY:boolean;
begin
isNoY:=SystemParametersInfo( SPI_GETSCREENSAVEACTIVE , 1, @temp, 0);
if isNoY then
showmessage('Y')
else
showmessage('N');
end;


procedure TForm1.Button13Click(Sender: TObject);
var temp:integer;
isNoY:boolean;
begin
isNoY:=SystemParametersInfo( SPI_GETSCREENSAVEACTIVE , 0, @temp, 0);
if isNoY then
showmessage('Y')
else
showmessage('N');
end;

另外:那是我以前看的,95和NT的ctl+alt+del机理不同。见笑了。
难道真的没有解决办法了吗?
 
谢谢wumeng的帮助,各位大侠不要吝啬笔墨了,恳请赐教。
 
ms说,在nt里面,输入密码前按一下ctrl-alt-del,保证出来的是
真正的密码输入界面,而不是黑客程序用骗密码的假登陆窗口。
(unix中有人用假登陆界面来骗超级用户密码)
既然ms敢这么说,说明nt中ctrl-alt-del是在很低层接管它的,
即使能搞定它,也不是件容易的事情,否则ms声称的“安全”有什么
用。
 
这问题可能是没答案了,算了吧,想别的办法绕过吧
 

Similar threads

后退
顶部