| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 48686 人关注过本帖, 5 人收藏
标题:“禁止关机”的程序终于做出来啦!!!!<<<<<<<<<<<<<<< ...
只看楼主 加入收藏
冰天雪
Rank: 1
等 级:新手上路
威 望:1
帖 子:331
专家分:0
注 册:2007-2-27
收藏
得分:0 
开源多好。。。。。。^^
2008-01-23 18:56
photoelec
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2008-1-9
收藏
得分:0 
flyue那么拽啊,这么多人回帖,采都不采一下?晕!
2008-01-24 11:25
hejinjiang
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2007-5-15
收藏
得分:0 
发个源代码啊..

<.不怕默默无闻,就怕碌碌无为.,}
2008-02-11 12:24
star29
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-2-12
收藏
得分:0 
我的是用CreateRemoteThread把我的DLL注入winlogon.exe,拦截ExitWindowsEx函数
删除PM_SERVICE服务,然后把
IMainBar.exe
CheckID.exe
IncrMain.exe
ICClient.exe
PM.exe
逐个结束进程(用程序瞬间结束或挂起主线程)
但是几分钟后还是重启。
怎么回事?
2008-02-13 16:42
star29
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-2-12
收藏
得分:0 
我找到的资料

本实例介绍在程序运行的过程中禁止用户关闭操作系统。
  用户是否可以关闭操作系统是通过对WM_QueryEndSession的处理来实现的,为此首先需要在程序中添加WM_QueryEndSession消息处理的声明:

  procedure QueryEndSession(var Msg:TMessage);Message WM_QueryEndSession;

  它的响应代码如下:

  procedure TForm1.QueryEndSession(var Msg:TMessage);
begin
 Msg.Result:=0;
end;

  当用户关闭操作系统时,操作系统会发布一个WM_QueryEndSession消息,这时就会激活本实例程序中的QueryEndSession过程,程序通过设置消息的返回值为0,就会禁止用户关闭操作系统,反之如果设置消息的返回值为1,就会允许用户关闭操作系统。

  程序代码如下:

  unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
 TForm1 = class(TForm)
private
 { Private declarations }
 procedure QueryEndSession(var Msg:TMessage);Message WM_QueryEndSession;
 public
  { Public declarations }
 end;
var
 Form1: TForm1;
 implementation
 {$R *.dfm}
 procedure TForm1.QueryEndSession(var Msg:TMessage);
begin
 Msg.Result:=0;
end;
end.

  保存文件,然后按F9键运行程序。只要本程序在正常运行,用户就无法关闭操作系统。
2008-02-13 16:45
jzswhqk
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-2-14
收藏
得分:0 
恭喜楼主哦~
欢迎加群19427671 共同讨论电脑技术
2008-02-14 22:18
长风破浪
Rank: 1
等 级:新手上路
帖 子:169
专家分:0
注 册:2005-10-9
收藏
得分:0 
回复 6# 的帖子
能给个源码看看吗,有兴趣

The way ahead is long; I see no ending, yet high and low I’ll search with my will unbending.
2008-02-15 11:58
star29
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-2-12
收藏
得分:0 
LZ啊?
为什么卡巴提示有病毒啊?

未命名.gif (69.94 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2008-02-15 17:24
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
真的非常不好意思,最近在研究骨骼动画,而且IE的cookie有点问题,一直登陆不了。
没想到我的程序引起了这么多朋友的回应
听到这么多人想要源代码,那我只有公布出来了-->
InjDLL(NoShut).rar (37.18 KB)

你们自己研究吧,切记不要拿来干坏事!

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-02-17 10:43
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
关于“禁止关机”的原理
我在书上看到过,Windows NT系列的关机是由"winlogon.exe"的进程来完成的,
当时正在研究API Hook技术,这使我想到了能不能利用这一技术来禁止Windows的某些功能?
于是我产生了做个“禁止关机”程序的念头。
最初我是用SetWindowsHookEx这一API来钩winlogon.exe,但是钩不住!为什么?权限不够。
于是我就用AdjustTokenPrivileges提升权限至SE_DEBUG_NAME,但是还是不行。
经过查阅资料,发现SetWindowsHookEx只能钩住有窗体的程序
我只好用做病毒的方式,把我的DLL注入到winlogon内,嘿嘿 成功

关于NoShut.dll的钩子技术,及怎样钩住ExitWindowsEx函数?大家还是自己查资料吧
(给你们留个悬念 )

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-02-17 10:55
快速回复:“禁止关机”的程序终于做出来啦!!!!<<<<<<<<<<<<<<< ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030553 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved