论坛: 菜鸟乐园 标题: 请教关于rundll32实现关机的一个问题 复制本贴地址    
作者: dupi [dupi]    论坛用户   登录
rundll32 shell32.dll,SHExitWindowsEx 1
注意大小写 
书上说可以实现关机
但是我却说“shell32.dll丢失条目 SHExitWindowsEx出错”
请高手指点

地主 发表时间: 04-01-14 22:38

回复: lida1818 [lida1818]   论坛用户   登录
C:\WINDOWS\RUNDLL32.EXE user,exitwindows

WINDOWS ME

B1层 发表时间: 04-01-14 22:55

回复: newmyth21 [newmyth21]   论坛用户   登录
重启、关闭Windows

  当用户修改了Windows里面的一些设置,Windows经常会提问是否要重新启动计算机,当用户点Yes的时候,计算机将会自动重启。这个就是API函数ExitWindowsEx的一个典型的应用。

  ExitWindowsEx,顾名思义就是退出Windows的函数,它有两个参数,第一个是退出Windows的选项,常用的有:EWX_REBOOT(重新启动计算机),EWX_SHUTDOWN(关闭计算机),EWX_LOGOFF(注销当前用户),第二个参数系统保留没有使用,可设为0。

  在自编的程序中(如:注册表修改程序),当用户修改了某项设置需要重新启动计算机的时候,就要使用EWX_REBOOT选项重启计算机。如:

ExitWindowsEx(EWX_REBOOT,0);

  使用WX_SHUTDOWN选项,可以实现关机。如:

ExitWindowsEx(EWX_SHUTDOWN,0);

  当需要注销的时候,就使用EWX_LOGOFF选项。如:

ExitWindowsEx(EWX_LOGOFF,0);



B2层 发表时间: 04-01-14 23:33

回复: newmyth21 [newmyth21]   论坛用户   登录
一、Windows 9X/Me系统
    Windows 9X/Me通过RunDll32.exe文件来完成关机操作,你可以在桌面上创建一个命令行为“%Windir%\RunDll32.exe user.exe,ExitWindows”的快捷方式,就可以实现快捷关机;如果改为“RunDLL32.exe user.exe,ExitWindowsExec”就可以实现重新启动,这比通过“开始”菜单来进行类似操作要简单多了。

    说明:%Windir%表示系统安装的路径,如系统安装在C盘上,目录为WINDOWS,则此处的%Windir%代表C:\WINDOWS,下同。

二、Windows NT/2000系统
    出于安全性考虑,基于NT内核的操作系统必须待用户认证之后才能关机,因此此时只能调用Windows下System中的Shell32.dll文件来实现,例如“%Windir%\RunDLL32.exe %Windir%\System\Shell32.dll,SHExitWindowsEx 8”,它可以实现关机并关闭电源,只要将这里的“8”更换成“1,2,4”则分别可以实现注销、重新启动、强制关闭电源等功能。

三、Windows XP系统
    Windows XP系统通过一个名为Shutdown.exe的程序来完成关机操作(位置在Windows\System下),它的功能较RunDLL32.EXE和Shell32.dll更为强大,但使用也相对复杂一些。

1.在图形化界面中执行关机操作
    在命令提示符下或运行对话框中键入“Shutdown.exe -i”就可以看到如(图)所示的图形界面,在这里你可以实现如下操作:

(1)控制网络中的计算机

    点击“添加”或通过“浏览”按钮可以对网络中的其他计算机进行关机、重新启动、注销操作,当然这些计算机也必须使用Windows XP系统,而且本机已启动了目录服务,该功能相当于-m\\computername参数。

(2)选择关机方式

    在“您想让这些计算机做什么”下拉列表框中,你可以找到关机、重新启动、注销3个动作,实际上它们分别代表了-l、-s、-r参数。

(3)延时关机

    当选中“警告用户此操作”复选框后,就可以设定Shutdown动作在延时若干秒后才开始执行,该功能相当于-t xx参数,缺省延时20秒。

(4)显示警告信息

    在“选项”下拉列表框中可以找到与Windows 2000/Windows.NET关机对话框非常类似的关机警告信息,或者你还可以在最下面的“注释”框中手工添加其他警告信息,该功能类似于-c“comment”参数,但这些自定义信息不能超过127个字符。

2.巧妙组合,DIY关机操作
    结合Shutdown.exe的相应参数,你还可以通过DIY巧妙组合出功能强大的关机操作呢。

(1)定时关机

    虽然通过-t xx参数可以实现定时关机,但笔者建议朋友们还是注意不要忘记同时使用-f参数,否则在执行Shutdown操作时会由于应用程序的请求保存提示中断,那就无法实现定时关机了。

    例如,你正在运行3DMAX4对一幅3D动画进行渲染,估计需要30分钟才能完成,正好你要出去很长时间,谁来代替你完成关机操作呢?当然是Shutdown啦,只要执行“Shutdown.exe -s -t 2100 -f”就可以了,注意这里的“2100”代表35分钟,你总要留下5分钟时间让程序保存文件吧。

    当然,为了防止你离开后他人私自更改计算机的当前操作,还可以通过-c “comment”参数设置一些警告信息,例如执行shutdown.exe -s -t 2100 -f -c “警告:计算机正在自动执行相应操作,35分钟后会自动关机,在此期间请勿对计算机进行任何手工操作!”就会弹出该警告信息。

(2)取消Shutdown操作

    有时,你执行Shutdown操作后,却发觉还有一些工作要做,这时能否取消相应操作呢?当然可以,只要你不是执行了-l、-s、-r参数,都可以重新键入“Shutdown.exe -a”取消当前关机操作。

3.快捷方式,快速关机
    知道了Shutdown的命令参数,为什么不直接通过快捷方式实现快速关机呢?仍然是老办法,在桌面上建立一个命令行为“%Windir%\System32\Shutdown.exe-s”的快捷方式,执行后就可以快速关机了,当然你还可以添加其他的命令参数,这里就不多说了


B3层 发表时间: 04-01-14 23:34

回复: dupi [dupi]   论坛用户   登录
谢谢楼上在两位
我的系统是2K
在运行时出现 shell32.dll丢失条目 SHExitWindowsEx出错
而且我在我朋友的机子上(XP)试了一下也一样出错


B4层 发表时间: 04-01-15 14:43

回复: dupi [dupi]   论坛用户   登录
没人知道吗

B5层 发表时间: 04-01-16 14:10

回复: dsx [dsx]   论坛用户   登录
RUNDLL32.EXE USER.EXE,EXITWINDOWSEXEC

B6层 发表时间: 04-01-18 11:10

回复: ka [ka]   论坛用户   登录


B7层 发表时间: 04-01-18 12:56

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号