无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3657|回复: 4
打印 上一主题 下一主题

请教能否发个PE自动重启的软件

[复制链接]
跳转到指定楼层
1#
发表于 2007-1-13 16:58:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教老师能否发个PE自动重启的软件
或者有什么方法?
psshutdown.exe和SHUTDOWN.EXE不行
2#
发表于 2007-1-13 17:10:51 | 只看该作者
呵呵,也是刚弄PE不久吧? 跟俺当初的思路一样的:)

wuyou目前绝大部分PE里都把shutdown需要的一些东西去掉了,直接shutdown.exe会出现“设备未就绪”的错误提示,查MS,说是winlogon.exe的问题,换了原版的winlogon,还是出错。好在各PE都有自己的命令:

用老九、毛桃系统的,用xpeinit -0关闭, xpeinit -6重启;

用Yonsm系统的,用xcmd shut关闭,xcmd shut R重启;

顺便问下各位高人:如果想用回shutdown.exe,该加哪些服务或作什么修改呢? 我曾把各exe、dll都被备齐了,还是不行。我猜想与服务有关。

哪位知道,吱个声哟!
回复

使用道具 举报

3#
发表于 2007-1-13 17:52:06 | 只看该作者
以前我用VC写的一个关机程序
通过调用NTDLL.DLL的“NtShutdownSystem”函数来关机的。
源码:
void CShutdownDlg::shut(int action)
{

    HINSTANCE h=LoadLibrary("ntdll.dll");
    if(!h)
    {
        MessageBox("加载'ntdll.dll'失败!");
        return;
    }

    typedef int (__stdcall *AdjustPrivilege)(int,int,int,int *);
    AdjustPrivilege SetPrivilege=NULL;
    SetPrivilege=(AdjustPrivilege)GetProcAddress(h,"RtlAdjustPrivilege");
    if(!SetPrivilege)
    {
        MessageBox("加载'RtlAdjustPrivilege'失败!");
        return;
    }

    typedef int (__stdcall *ShutdownSystem)(int);
    ShutdownSystem Shutdown=NULL;
    Shutdown=(ShutdownSystem)GetProcAddress(h,"NtShutdownSystem");
    if(!Shutdown)
    {
        MessageBox("加载'NtShutdownSystem'失败!");
        return;
    }

    const int SE_SHUTDOWN_PRIVILEGE = 19;
    const int shutdown = 0;
    const int RESTART = 1;
    const int POWEROFF = 2;
    int *a;
        a=new int;
    (*SetPrivilege)(SE_SHUTDOWN_PRIVILEGE,true,false,a);
    (*Shutdown)(action);
        delete a;
       
}
用法:调用这个函数用参数shutdown,RESTART ,POWEROFF 来表示关机还是重启。

[ 本帖最后由 123 于 2007-1-13 05:56 PM 编辑 ]

shutdown.rar

33.78 KB, 下载次数: 57, 下载积分: 无忧币 -2

回复

使用道具 举报

4#
发表于 2007-1-13 17:56:34 | 只看该作者
不错~学习拉!
回复

使用道具 举报

5#
 楼主| 发表于 2007-1-14 13:24:46 | 只看该作者
原帖由 sztopms1 于 2007-1-13 05:10 PM 发表
呵呵,也是刚弄PE不久吧? 跟俺当初的思路一样的:)

wuyou目前绝大部分PE里都把shutdown需要的一些东西去掉了,直接shutdown.exe会出现“设备未就绪”的错误提示,查MS,说是winlogon.exe的问题,换了原版的w ...



能否延时重启?请教高手了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-11 08:10

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表