使用批处理重新启动计算机首页 系统管理脚本 脚本 重新启动 reboot.inf今天在新闻组看到suichuanxian朋友回了一个帖子(地址在OXfUmTgWFHA.2256@TK2MSFTNGP14.phx.gbl),帖子原文如下:提问:请问各位大虾,在批处理里面怎么模拟回车键的事件?也就是说我想用批处理来代替人 工的回车或者空格键?因为我的一些程序在关闭的时候,提示是否结束,如果选在 “是”以后,程序关闭了,系统才能够成功重启,否则不理他的话,系统就不能够完成 重启的动作。谢谢各位大虾。 回答:把以下内容用记事本保存为bat文件就可以了,如reboot.bat,运行它就会自动重新启 动。 @echo off setlocal cd/d %temp% echo [version] > reboot.inf set inf=InstallHinfSection DefaultInstall echo signature=$chicago$ >> reboot.inf echo [defaultinstall] >> reboot.inf rundll32 setupapi,%inf% 1 %temp% eboot.inf del reboot.inf 呵呵,看到这个帖子,又让我回想起用inf解锁regedit风行的年代。意兴之余就说说这个脚本的原理好了。其实这里面用到的关键一句是RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 1 %temp% eboot.inf这里的格式是RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection 关于Windows Rundll and Rundll32 Interface的用法,请参考 http://support.microsoft.com/kb/164787/zh-cn ,之前我也写过rundll32用法的一个例子 http://gnaw0725.blogdriver.com/gnaw0725/259894.htmlsetupapi在这里加载 InstallHinfSection功能项。关于此api其他export部分,用exescope或者编译工具都可以很容易查到。(BTW:在winXP及以后版本,setupapi的运行将会随之产生一个setupapi.log,它将会纪录当前环境下安装的设备、servicepack以及hotfix,详细内容请参考 http://www.microsoft.com/whdc/driver/install/setupapilog.mspx)<section> 这里配合INF使用 InstallHinfSection, 关于 INF安装的其他功能项请参考 INF File Processing Functions http://msdn.microsoft.com/library/default.asp?url=/library/en-us/install/hh/install/SetupAPI_95233d19-2970-409d-8b44-de661cbf68ae.xml.asp<mode> 是一个组合值,它的组合序列如下:
Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate,(Shutdown)}!" & _ strComputer & " ootcimv2") Set colOperatingSystems = objWMIService.ExecQuery _ ("Select * from Win32_OperatingSystem") For Each objOperatingSystem in colOperatingSystems objOperatingSystem.Reboot() Next 喜欢这篇文章吗?那就点击 订阅吧
首页|
评论 8 |
引用 1 |
编辑 按下键盘Ctrl+D会有惊喜发生 上一篇日志:<< Microsoft Download Notifications!
|
没找到?尝试站内搜索吧!
6月最热文章
虚拟化技术 如何减小pagefile系统文件太大小 使用批处理重新启动计算机文章评论:
使用批处理重新启动计算机文章归档: |
本页精品文章:使用批处理重新启动计算机
活动目录SEO博客公告
月流量突破 10 万,总流量突破170万,如果您对活动目录域及网络管理也有心得,并且希望以此扩大自己影响力,只需要添加本站链接,然后将文章标题和链接在线留言给活动目录博客,活动目录博客将收录您的文章,并注明您的站点及链接。