科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件VB实现远程启动机器ABC_三.WMI解决方案

VB实现远程启动机器ABC_三.WMI解决方案

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

这个解决方案从代码方面看是一个很容易执行的方法,可下载代码包是:RebootNT_WMI.zip 首先要设置对Microsoft WMI 脚本库wbemdisp.tlb的引用,这可以从VB代码中调用(本例中就是这样),或者从脚本语言中调用,

作者:青苹果工作室 来源:soft6 2008年5月14日

关键字: 启动 远程 VB vb.net Windows

  • 评论
  • 分享微博
  • 分享邮件

WMI解决方案

  这个解决方案从代码方面看是一个很容易执行的方法,可下载代码包是: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,如果你需要在网络上重新启动一个或多个计算机,上面已经向你展示了一些不同的方法。请记住,如果你强制执行重新启动,那么无论选择哪种方法,任何打开的程序都将没有机会来保存那些未经存储的数据。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章