怎么能在系统启动的时候删除系统文件

fangjx 2003-11-25 12:53:51
怎么能在系统启动的时候删除系统文件,如:EXPLORER.EXE,同时将新版本的EXPLORER.EXE复制、覆盖过去。
我通过修改注册表自启动项来实现,在98下没有问题。2000和XP下有问题,可能是因为2000的系统文件保护功能.
...全文
54 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangjx 2003-11-27
  • 打赏
  • 举报
回复
我知道啊,唉,你不知道我的具体用途啊,我这也不便说的,不过还是要感谢您。结贴了,不然又要扣分了。哈哈
fangjx 2003-11-26
  • 打赏
  • 举报
回复
结束进程后,那用户的桌面不就没有了?必须重新启动才行啊。
最好能在系统一启动的时候就进行工作,在EXPLORER.EXE还没有被调用、系统文件保护功能还没有启动的时候就替换EXPLORER.EXE。^_^
to:kyee(浪子阿鹏)
??我怎么不行呢?具体步骤可以将一下吗?
Cappuccino 2003-11-26
  • 打赏
  • 举报
回复
楼主啊,你怎么这么愚呢,结束explore以后,删除掉,把你的copy过来,然后再调用一次,桌面就出来了,笨的~~
你可以直接用ShellExecute调用!!
很土 2003-11-25
  • 打赏
  • 举报
回复
在 win2000/xp 下是很容易的, 只要把 explore.exe 移到别的目录下, 然后把自己的 explore.exe 拷贝进去, 重新启动计算机即可.
RamjetZhang 2003-11-25
  • 打赏
  • 举报
回复
explorer还不算系统重量级的。
Cappuccino 2003-11-25
  • 打赏
  • 举报
回复
顺便告诉你,Explore.Exe 的进程是由系统内核用createprocess调用的,所以....你该知道了吧。
Cappuccino 2003-11-25
  • 打赏
  • 举报
回复
拿到DEBUG的权限以后就可以结束一切进程(包括系统进程)。
当然你就可以删除了吧·!!!
这个不会也要我帮你写出来吧。
用terminateprocess结束你要删除的进程,然后使用DeleteFile删除就好了阿。
我倒~~
fangjx 2003-11-25
  • 打赏
  • 举报
回复
DEBUG完了再怎么办?我对这个不懂.............这个可以删除正在使用的文件吗?
我也很奇怪我的信誉值怎么会这么低??我都按时结贴啊。
Cappuccino 2003-11-25
  • 打赏
  • 举报
回复
在NT_2000_XP下面实现其实也不是很难,只要取得系统的DEBUG权限就可以了。
我给你写一个函数吧!
声明下面的函数:
function SetDebugPrivilege(CanDebug: Boolean): Boolean;

函数体用了一个递归:

function SetDebugPrivilege(CanDebug: Boolean): Boolean;
function EnablePrivilege(hToken: Cardinal; PrivName: string; bEnable: Boolean): Boolean;
var
TP: TOKEN_PRIVILEGES;
Dummy: Cardinal;
begin
TP.PrivilegeCount := 1;
LookupPrivilegeValue(nil, pchar(PrivName), TP.Privileges[0].Luid);
if bEnable then
TP.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED
else TP.Privileges[0].Attributes := 0;
AdjustTokenPrivileges(hToken, False, TP, SizeOf(TP), nil, Dummy);
Result := GetLastError = ERROR_SUCCESS;
end;
var
hToken: Cardinal;
begin
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken);
Result := EnablePrivilege(hToken, SE_DEBUG_NAME, CanDebug);
CloseHandle(hToken);
end;

好了,结贴吧!你的信誉值很低啊,不过我相信你:)
dancedog 2003-11-25
  • 打赏
  • 举报
回复
在Autoexec.bat里面写
fangjx 2003-11-25
  • 打赏
  • 举报
回复
为什么我的信誉值这么低??
我都结贴了啊!!!!!!!

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧