这个解决方案从代码方面看是一个很容易执行的方法,可下载代码包是:RebootNT_WMI.zip
首先要设置对Microsoft WMI 脚本库wbemdisp.tlb的引用,这可以从VB代码中调用(本例中就是这样),或者从脚本语言中调用,比如:
Private Sub cmdLocalReboot_Click()
Dim p_objSet As SWbemObjectSet
Dim p_objSWbemObj As Object
Set p_objSet = GetObject("winmgmts:{(Shutdown)}//./root/cimv2"). _
ExecQuery("select * from Win32_OperatingSystem where Primary=true")
For Each p_objSWbemObj In p_objSet
p_objSWbemObj.reboot
Next p_objSWbemObj
End Sub
Private Sub cmdRemoteReboot_Click()
Dim p_objSet As SWbemObjectSet
Dim p_objSWbemObj As Object
Dim p_strServer As String
p_strServer = Me.Text1.Text
Set p_objSet = GetObject("winmgmts:{(Debug,RemoteShutdown)}//" _
& p_strServer & "/root/cimv2"). _
ExecQuery("select * from Win32_OperatingSystem where Primary=true")
For Each p_objSWbemObj In p_objSet
p_objSWbemObj.reboot
Next p_objSWbemObj
End Sub
这个相当简易的方法的缺点是:WMI 只在Win2K操作系统上有效。对于NT 4.0或 Win9x,就必须下载并安装WMI ,详细资料请参见MSDN。并且,这个方法对Win9x的重新启动不起作用。
结 语
OK,如果你需要在网络上重新启动一个或多个计算机,上面已经向你展示了一些不同的方法。请记住,如果你强制执行重新启动,那么无论选择哪种方法,任何打开的程序都将没有机会来保存那些未经存储的数据。
上一篇: 非access数据库在vb中的编程及应用(1)
下一篇: 非access数据库在vb中的编程及应用(2)
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




