日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

vbs当计算机重启,用vbs实现重新启动 Internet Explorer

發(fā)布時(shí)間:2023/12/10 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vbs当计算机重启,用vbs实现重新启动 Internet Explorer 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

用vbs實(shí)現(xiàn)重新啟動(dòng) Internet Explorer

2007-03-25 00:00:00 作者:

用vbs實(shí)現(xiàn)重新啟動(dòng) Internet Explorer

問(wèn):

您好,腳本專(zhuān)家!如果未運(yùn)行其他實(shí)例,如何重新啟動(dòng)?Internet?Explorer?

--?MT

答:

您好,MT。多謝您的問(wèn)題。您知道,如今每個(gè)人都在挑剔可憐的?Internet?Explorer?的毛病(盡管大多數(shù)?Windows?用戶(hù)仍在使用?Internet?Explorer)。但現(xiàn)在有人提出了一個(gè)問(wèn)題,他想確保?Internet?Explorer?始終正常運(yùn)行。看見(jiàn)了吧,Internet?Explorer:還有人喜歡你!

盡管我們本來(lái)要為?Internet?Explorer?而感到高興的,但我們不得不承認(rèn)這個(gè)問(wèn)題使我們有些為難。畢竟,可通過(guò)多種不同的方法來(lái)解決此問(wèn)題,這取決于您是需要立即重新啟動(dòng)?Internet?Explorer?還是要等一會(huì)再啟動(dòng)它。對(duì)此問(wèn)題沉思片刻之后,我們決定按我們通常所采取的辦法去做:采用最簡(jiǎn)單的解決辦法,在本示例中,每?60?秒檢查一次是否有任何?Internet?Explorer?實(shí)例正在運(yùn)行。如果有,則腳本只返回到休眠狀態(tài),再等待?60?秒,然后重新檢查。如果沒(méi)有任何運(yùn)行的?Internet?Explorer?實(shí)例,則腳本將啟動(dòng)?Internet?Explorer?的新副本,然后休眠片刻,再等待?60?秒,之后重新檢查。

是的,這有點(diǎn)類(lèi)似于腳本專(zhuān)家一天的工作。嗯,您知道我們是什么意思嗎?不同之處就是每?60?秒即醒來(lái)一次以便干點(diǎn)什么。

以下是我們所提供的腳本:

strComputer?=?"."

Set?objWMIService?=?GetObject("winmgmts:\\"?&?strComputer?&?"\root\cimv2")

Set?objShell?=?CreateObject("Wscript.Shell")

Do?While?True

Set?colProcesses?=?objWMIService.ExecQuery?_

("Select?*?from?Win32_Process?Where?Name?=?'iexplore.exe'")

If?colProcesses.Count?=?0?Then

objShell.Run?"iexplore.exe"

End?If

Wscript.Sleep?60000

Loop

沒(méi)錯(cuò):它實(shí)質(zhì)上只是個(gè)普通的?WMI?腳本。因此,它首先連接到本地計(jì)算機(jī)上的?WMI?服務(wù)。但是該腳本與其他?WMI?腳本之間存在一個(gè)主要的不同之處。通常此時(shí)我們會(huì)說(shuō):“不過(guò),您也可以針對(duì)遠(yuǎn)程計(jì)算機(jī)運(yùn)行此腳本”。遺憾的是,這一次并非如此。從技術(shù)上講,您可以針對(duì)遠(yuǎn)程計(jì)算機(jī)運(yùn)行該腳本,但您啟動(dòng)的任何?Internet?Explorer?實(shí)例都將在不可見(jiàn)的窗口中運(yùn)行(至少在?Windows?XP?和?Windows?Server?2003?上是這樣),因此,您將無(wú)法在屏幕上看到它。這是操作系統(tǒng)中內(nèi)置的一種安全功能:遠(yuǎn)程啟動(dòng)的進(jìn)程始終在隱藏窗口中運(yùn)行。也就是說(shuō),該腳本必須在本地計(jì)算機(jī)上運(yùn)行。

注意:這個(gè)問(wèn)題有解決辦法嗎?事實(shí)上有解決辦法,盡管它要求您本地而不是遠(yuǎn)程啟動(dòng)進(jìn)程。有關(guān)如何解決該問(wèn)題的示例,請(qǐng)參閱您好,腳本專(zhuān)家!專(zhuān)欄。

連接到?WMI?服務(wù)后,我們就創(chuàng)建一個(gè)?WScript.Shell?對(duì)象的實(shí)例,我們將使用它來(lái)生成所有新的?Internet?Explorer?實(shí)例。(是的,我們本來(lái)可以使用?WMI?來(lái)實(shí)現(xiàn)此目的的,但大多數(shù)人都發(fā)現(xiàn)使用?Wscript.Shell?運(yùn)行程序要比使用?WMI?更容易。)接著我們建立一個(gè)只要?True?等于?True?時(shí)即運(yùn)行的?Do?循環(huán)。(除非哲學(xué)上有任何新的進(jìn)展,否則這就意味著腳本將永遠(yuǎn)運(yùn)行下去。要停止該腳本,需要終止腳本進(jìn)程。如果您正運(yùn)行在?CScrip?下的命令窗口中,只需按?Ctrl+C?或關(guān)閉命令窗口即可實(shí)現(xiàn)此操作,非常容易。)

那么此循環(huán)執(zhí)行什么操作?首先,我們使用以下代碼來(lái)檢索當(dāng)前在計(jì)算機(jī)上運(yùn)行的所有名為?iexplore.exe?的進(jìn)程集合:

Set?colProcesses?=?objWMIService.ExecQuery?_

("Select?*?from?Win32_Process?Where?Name?=?'iexplore.exe'")

盡管會(huì)失去懸念,但還是要與當(dāng)前在計(jì)算機(jī)上運(yùn)行的所有?Internet?Explorer?實(shí)例的集合保持一致。然后,我們檢查?Count?屬性(該屬性可告訴我們集合中的項(xiàng)數(shù))的值是否等于?0:

If?colProcesses.Count?=?0?Then

如果?Count?等于?0,則表示計(jì)算機(jī)上未運(yùn)行任何?Internet?Explorer?實(shí)例。因此,我們使用?Shell?對(duì)象和?Run?方法來(lái)啟動(dòng)一個(gè)全新的實(shí)例:

objShell.Run?"iexplore.exe"

就是這樣。接下來(lái),使用?Sleep?方法將腳本暫停?60?秒(60,000?毫秒)。60?秒之后,腳本繼續(xù)執(zhí)行,再次循環(huán)并重復(fù)該過(guò)程,直至永遠(yuǎn)。如果所需時(shí)間間隔不是?60?秒,調(diào)整該值即可。例如,下面這行代碼將每?30?秒(30,000?毫秒)進(jìn)行一次檢查:

Wscript.Sleep?30000

下面的代碼將每?10?分鐘(60,000?毫秒/每分鐘乘以?10?分鐘)運(yùn)行一次檢查:

Wscript.Sleep?600000

不可否認(rèn),該代碼僅每?10?分鐘檢查一次?Internet?Explorer?是否在工作。對(duì)于腳本專(zhuān)家來(lái)說(shuō),就沒(méi)有必要再每?10?分鐘檢查一次他們是否在工作:畢竟,有沒(méi)有腳本,您都知道該問(wèn)題的答案。

總結(jié)

以上是生活随笔為你收集整理的vbs当计算机重启,用vbs实现重新启动 Internet Explorer的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。