社区
Windows SDK/API
帖子详情
请问如何屏避掉系统功能键如ctrl+alt+del
lynew
2003-07-26 09:00:22
请问如何屏避掉系统功能键如ctrl+alt+del
...全文
72
9
打赏
收藏
请问如何屏避掉系统功能键如ctrl+alt+del
请问如何屏避掉系统功能键如ctrl+alt+del
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lynew
2003-07-26
打赏
举报
回复
我是用2000做监控的。其它功能都是多余的,而且总有人删除东西真让人头痛。
myling
2003-07-26
打赏
举报
回复
不知道
这个玩艺我没试验过
FrameSniper
2003-07-26
打赏
举报
回复
还是没有解决方法?
myling
2003-07-26
打赏
举报
回复
2000下不太容易
看了好多文章,但是作者说的都没底
呵呵
贴一个看看吧
================================================================================
在WINDOWS操作系统下,当我们无法结束或者不知道怎样结束一个程序的时候,或者是懒得去找“退出”按钮的时候,通常会按“CTRL+ALT+DEL”呼出任务管理器,找到想结束的程序,点一下“结束任务”就了事了,呵呵,虽然有点粗鲁,但大多数情况下都很有效,不是吗?
设想一下,如果有这么一种软件,它所要做的工作就是对某个使用者在某台电脑上的活动作一定的限制,而又不能被使用者通过“结束任务”这种方式轻易地解除限制,那该怎么做?无非有这么三种方法:1.屏蔽“CTRL+ALT+DEL”这个热键的组合;2.让程序不出现在任务管理器的列表之中;3.让任务管理器无法杀掉这个任务。对于第一种方法,这样未免也太残酷了,用惯了“结束任务”这种方法的人会很不习惯的;对于第二种方法,在WINDOWS 9X下可以很轻易地使用注册服务进程的方法实现,但是对于WINDOWS NT架构的操作系统没有这个方法了,进程很难藏身,虽然仍然可以实现隐藏,但实现机制较为复杂;对于第三种方法,实现起来比较简单,我的作品:IPGate 网址过滤器 就是采用的这种方式防杀的,接下来我就来介绍这种方法。
任务管理器的“结束任务”实际上就是强制终止进程,它所使用的杀手锏是一个叫做TerminateProcess()的Win32 API函数,我们来看看它的定义:
BOOL TerminateProcess(
HANDLE hProcess; // 将被结束进程的句柄
UINT uExitCode; // 指定进程的退出码
);
看到这里,是不是觉得不必往下看都知道接下来要做什么:Hook TerminateProcess()函数,每次TerminateProcess()被调用的时候先判断企图结束的进程是否是我的进程,如果是的话就简单地返回一个错误码就可以了。真的是这么简单吗?先提出一个问题,如何根据hProcess判断它是否是我的进程的句柄?答案是:在我的进程当中先获得我的进程的句柄,然后通过进程间通讯机制传递给钩子函数,与hProcess进行比较不就行了?错!因为句柄是一个进程相关的值,不同进程中得到的我的进程的句柄的值在进程间进行比较是无意义的。
怎么办?我们来考察一下我的hProcess它是如何得到的。一个进程只有它的进程ID是独一无二的,操作系统通过进程ID来标识一个进程,当某个程序要对这个进程进行访问的话,它首先得用OpenProcess这个函数并传入要访问的进程ID来获得进程的句柄,来看看它的参数:
HANDLE OpenProcess(
DWORD dwDesiredAccess, // 希望获得的访问权限
BOOL bInheritHandle, // 指明是否希望所获得的句柄可以继承
DWORD dwProcessId // 要访问的进程ID
);
脉络渐渐显现:在调用TerminateProcess()之前,必先调用OpenProcess(),而OpenProcess()的参数表中的dwProcessId是在系统范围内唯一确定的。得出结论:要Hook的函数不是TerminateProcess()而是OpenProcess(),在每次调用OpenProcess()的时候,我们先检查dwProcessId是否为我的进程的ID(利用进程间通讯机制),如果是的话就简单地返回一个错误码就可以了,任务管理器拿不到我的进程的句柄,它如何结束我的进程呢?
至此,疑团全部揭开了。由Hook TerminateProcess()到Hook OpenProcess()的这个过程,体现了一个逆向思维的思想。其实我当初钻进了TerminateProcess()的死胡同里半天出也不来,但最终还是蹦出了灵感的火花,注意力转移到了OpenProcess()上面,实现了进程防杀。喜悦之余,将这心得体会拿出来与大家分享。
================================================================================
lynew
2003-07-26
打赏
举报
回复
我知道啊。我是问有没有什么新的办法。
dickeybird888
2003-07-26
打赏
举报
回复
如果你用的是2000则上面的程序是不能用的
lynew
2003-07-26
打赏
举报
回复
我要在WIN2000下用
FrameSniper
2003-07-26
打赏
举报
回复
当你不需要让用户按Alt+Enter、Ctrl+Alt+Del、Ctrl+Esc等功能键的时候加入以下代码:
Var
temp:integer;
begin
SystemParametersInfo(Spi_screensaverrunning,1,@temp,0);
end;
当你要恢复功能键时用以下代码:
Var
Temp:integer;
begin
SystemParametersInfo(spi_screensaverrunning,0,@temp,0);
end;
dickeybird888
2003-07-26
打赏
举报
回复
procedure TForm1.FormCreate(Sender: TObject);
var tmp:integer;
begin
tmp := 0;
//屏蔽 Ctrl-Alt-Del
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @tmp, 0);
end;
Windows XP
系统
中如何屏蔽
Ctrl
+
Alt
+
Del
、
Alt
+Tab以及
Ctrl
+Esc键序列
下载本文源代码: TrapKeys.zip (95KB) 对于用过Windows的人,几乎没有人不知道
Ctrl
+
Alt
+
Del
组合键,尤其是在使用经常死机的Windows9x时,使用它的频率更高,这一组合键是专门为了
系统
安全起见提供的紧急出口。VC知识库在线杂志第11期,ac952_z_cn在他的个人专栏中写过一篇...
linux禁用
CTRL
+
ALT
+
DEL
快捷键,避免
系统
重启,避坑
Linux运维入门到精通linux日常运维操作小技巧 linux日常运维操作小技巧 现云平台分为两类Linux。一类普通Linux
系统
,一类Oracle Linux 普通Linux分为Ubuntu,centos6,centos7,Redhat6,Redhat7,(以下操作只针对没有GUI的Linux
系统
) 1.普通Linux查看
系统
版本(centos6,centos7,Redhat6,Redhat7) [root@node01 ~]# cat /etc/redhat-release CentOS Linux
远程注入线程,屏蔽
Ctrl
+
Alt
+
Del
关键字
Ctrl
,
Alt
,
Del
ete,Windows 2000,hook,SAS,GINA,WINAPI,API,Thread 如何: 在Windows2000中动态禁用/启用
Ctrl
-
Alt
-
Del
ete -------------------------------------------------------------------------------- 此文章的
玩转电脑|如何取消开机按
CTRL
+
ALT
+
DEL
登陆
系统
昨天,同事说的在外面花钱重装了
系统
之后每次开机时候都会出现一个按
CTRL
+
ALT
+
DEL
登陆
系统
,让我给解决一下。现在一起把解决教程给大家分享一下。 在这里以win7为例分享两种方式:
linux 禁用
ctrl
+
alt
+
del
重启
系统
经常看到很多客户正式的环境还没有禁用
CTRL
-
ALT
-
DEL
重启
系统
,这个快捷键非常危险,尤其是正式环境,稍不留神按了这3个键,等着吧! 建议大家养成好的习惯,装完
系统
后把基础配置做好,比如禁用这个重启,安装基础的工具unzip、wget、curl等! 1.CentOS5.x vi /etc/inittab 找到下面行并注释
掉
: ca:12345:
ctrl
alt
del
:/sbin/s...
Windows SDK/API
1,184
社区成员
22,326
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章