麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > VBScript > 正文

用vbs將輸出內(nèi)容寫到屏幕以覆蓋當(dāng)前屏幕上的內(nèi)容的方法

2020-07-26 12:03:08
字體:
供稿:網(wǎng)友
問:
您好,腳本專家!如何將輸出內(nèi)容寫到屏幕以覆蓋當(dāng)前屏幕上的內(nèi)容?
-- KM
答:
您好,KM。如果您確實(shí)需要將輸出內(nèi)容寫到命令窗口,那么,我們沒辦法給您提供答案:盡管我們多少已經(jīng)處理過一些問題,但我們從未找到一種簡(jiǎn)單、直接的方法可覆蓋命令窗口中的信息。
不過,如果您要將信息輸出到 Internet Explorer 窗口,那么我們還確實(shí)有解決辦法。而且馬上就可以給出答案:
Set objExplorer = CreateObject("InternetExplorer.Application")
objExplorer.Navigate "about:blank"   
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Width = 400
objExplorer.Height = 200 
objExplorer.Left = 0
objExplorer.Top = 0
Do While (objExplorer.Busy)
    Wscript.Sleep 200
Loop    
objExplorer.Document.Title = "Process Information"   
objExplorer.Visible = 1  
objExplorer.Document.Body.InnerHTML = "Retrieving process information." 
Wscript.Sleep 2000
strComputer = "."
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Process")
For Each objItem in colItems
    objExplorer.Document.Body.InnerHTML = objItem.Name
    Wscript.Sleep 500
Next
objExplorer.Document.Body.InnerHTML = "Process information retrieved."
Wscript.Sleep 3000
objExplorer.Quit
看上去確實(shí)有點(diǎn)長(zhǎng),但其實(shí)非常簡(jiǎn)單,這一點(diǎn)您很快就會(huì)發(fā)現(xiàn)。例如,乍一看,這段代碼可能挺恐怖:
Set objExplorer = CreateObject("InternetExplorer.Application")
objExplorer.Navigate "about:blank"   
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Width = 400
objExplorer.Height = 200 
objExplorer.Left = 0
objExplorer.Top = 0
不過,事實(shí)證明,我們所做的只是創(chuàng)建一個(gè) Internet Explorer 的空實(shí)例;而且,這是通過前兩行代碼完成的。其余代碼行只是配置 Internet Explorer 窗口的各種屬性而已:我們?cè)O(shè)置寬度為 400 像素,隱藏工具欄,然后將 Internet Explorer 窗口定位在屏幕的左上角。如果愿意使用 Internet Explorer 窗口的默認(rèn)配置,則可跳過 3 到 8 行。
設(shè)置完 Internet Explorer 窗口之后,我們使用下面的 Do While 循環(huán),在完全載入 Internet Explorer 后中止該腳本:
Do While (objExplorer.Busy)
    Wscript.Sleep 200
Loop
看到了嗎?還算不錯(cuò)。啟動(dòng)并運(yùn)行 Internet Explorer 后,接下來為 Internet Explorer 窗口指定一個(gè)標(biāo)題,并將 Visible 屬性設(shè)置為 True (1)。我們這么做的原因是,迄今為止,Internet Explorer 還在隱藏窗口中運(yùn)行,在屏幕上看不到。不過下面的代碼可解決這個(gè)小問題:
objExplorer.Document.Title = "Process Information"   
objExplorer.Visible = 1
現(xiàn)在我們準(zhǔn)備在窗口中寫點(diǎn)什么。對(duì)于此示例腳本,就像下面的代碼那樣簡(jiǎn)單:
objExplorer.Document.Body.InnerHTML = "Retrieving process information."
正如您所看到的那樣,我們只是賦給 Document.Body 對(duì)象的 InnerHTML 屬性一個(gè)值。這種情況下,我們僅為 InnerHTML 賦予一些文本:檢索進(jìn)程信息。不過,我們可以很容易地添加一些 HTML 標(biāo)記并創(chuàng)建更為獨(dú)特的輸出。例如,此行代碼會(huì)將寫到窗口中的文本加粗:
objExplorer.Document.Body.InnerHTML = "<B>Retrieving process information.</B>"
好吧,或許這與設(shè)想并不完全相符。但您已經(jīng)得到問題的答案了。
在 Internet Explorer 窗口中顯示我們的文本字符串之后,我們便可將該腳本中止 2 秒(2000 毫秒)。沒有什么原因必須要這樣做,只是這樣您就能在覆蓋原來的文本之前看到它們。 
接下來是下面這段代碼:
strComputer = "."
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Process")
For Each objItem in colItems
    objExplorer.Document.Body.InnerHTML = objItem.Name
    Wscript.Sleep 500
Next
我們只需檢索本地計(jì)算機(jī)上運(yùn)行的進(jìn)程集合。這并不十分重要;我們只是需要通過運(yùn)行該腳本而得到一些有趣的結(jié)果。我們今天所關(guān)心的是在我們建立的用來遍歷該集合中所有項(xiàng)的 For Each 循環(huán)內(nèi)將會(huì)發(fā)生什么:
For Each objItem in colItems
    objExplorer.Document.Body.InnerHTML = objItem.Name
    Wscript.Sleep 500
Next
在多數(shù) WMI 腳本中,我們?cè)?nbsp;For Each 循環(huán)內(nèi)回顯屬性值(例如,Name)。不過在此,我們不使用 Wscript.Echo,而是將集合中第一個(gè)進(jìn)程的名稱分配給腳本主體的 InnerHTML 屬性:
objExplorer.Document.Body.InnerHTML = objItem.Name
這樣做會(huì)有什么結(jié)果呢?將使用集合中第一個(gè)進(jìn)程的名稱覆蓋 Internet Explorer 窗口的現(xiàn)有內(nèi)容。例如,我們要開始循環(huán)時(shí),Internet Explorer 窗口中將含有以下文本:
檢索進(jìn)程信息。
當(dāng)我們啟動(dòng)循環(huán)后,這段文本將被替換為集合中第一個(gè)進(jìn)程的名稱。例如:
Winword.exe。
覆蓋窗口中的內(nèi)容后,我們將腳本中止半秒(500 毫秒)。再次強(qiáng)調(diào)一下,這并不是必須要做的事情;我們這樣做只是為了減緩腳本速度,以便您能看到顯示的第一個(gè)進(jìn)程的名稱。半秒后,進(jìn)入下一個(gè)循環(huán)并檢索關(guān)于集合中第二個(gè)進(jìn)程的信息。之后,該腳本將用第二個(gè)進(jìn)程的名稱替換 Internet Explorer 窗口中的現(xiàn)有內(nèi)容(從技術(shù)角度上講,是賦給 InnerHTML 屬性的值),然后以此類推。
在遍歷整個(gè)集合后,我們指示該腳本已結(jié)束,中止 3 秒,然后關(guān)閉 Internet Explorer 窗口:
objExplorer.Document.Body.InnerHTML = "Process information retrieved."
Wscript.Sleep 3000
objExplorer.Quit
運(yùn)行效果很不錯(cuò),而且非常簡(jiǎn)單。因?yàn)樗褂?nbsp;HTML,這意味著您盡可以使輸出如您所愿;事實(shí)上,您甚至可以使 Internet Explorer 窗口的外觀像命令窗口一樣。如果這還不夠酷,那,我們也不知道怎樣才算酷了。(事實(shí)上,正如一個(gè)腳本專家兒子經(jīng)常提醒他的腳本專家父親的那樣,我們不知道什么是酷。)
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 色中色在线视频 | 日韩av影片在线观看 | 国产高清自拍一区 | 欧美成人免费电影 | 欧美成人性生活片 | 毛片视频网址 | 天天草天天色 | 毛片成人网 | 免费视频99 | 亚洲电影在线观看高清免费 | 成人啪啪18免费网站 | 国产乱淫a∨片免费观看 | 久久国产精品免费视频 | 国产一级毛片av | 国产一级淫片免费看 | 亚洲精品成人久久 | 91在线免费观看 | av影院在线播放 | 精品一区二区在线观看视频 | 中国7777高潮网站 | 国产一区二区三区视频免费 | 斗罗破苍穹在线观看免费完整观看 | 日本一区二区久久久 | 91av网址 | 中文字幕免费播放 | 国产一区二区影视 | 欧美日本一区二区 | 91短视频版高清在线观看www | 9999免费视频 | 爽妇网国产精品 | 欧美成人一区二区三区电影 | 国产成人精品无人区一区 | 国产电影av在线 | 欧美大逼网 | 国产成人高潮免费观看精品 | 精品久久久一二三区播放播放播放视频 | 男女羞羞在线观看 | 一级做a爱片性色毛片高清 国产精品色在线网站 | 中国7777高潮网站 | www.成人在线视频 | 高清国产午夜精品久久久久久 |