用vbs将输出内容写到屏幕以覆盖当前屏幕上的内容的方法
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
=GetObject("winmgmts:\\"&strComputer&"\root\cimv2") SetcolItems=objWMIService.ExecQuery("Select*fromWin32_Process") ForEachobjItemincolItems objExplorer.Document.Body.InnerHTML=objItem.Name Wscript.Sleep500 Next 我们只需检索本地计算机上运行的进程集合。这并不十分重要;我们只是需要通过运行该脚本而得到一些有趣的结果。我们今天所关心的是在我们建立的用来遍历该集合中所有项的ForEach循环内将会发生什么: ForEachobjItemincolItems objExplorer.Document.Body.InnerHTML=objItem.Name Wscript.Sleep500 Next 在多数WMI脚本中,我们在ForEach循环内回显属性值(例如,Name)。不过在此,我们不使用Wscript.Echo,而是将集合中第一个进程的名称分配给脚本主体的InnerHTML属性: objExplorer.Document.Body.InnerHTML=objItem.Name 这样做会有什么结果呢?将使用集合中第一个进程的名称覆盖InternetExplorer窗口的现有内容。例如,我们要开始循环时,InternetExplorer窗口中将含有以下文本: 检索进程信息。 当我们启动循环后,这段文本将被替换为集合中第一个进程的名称。例如: Winword.exe。 覆盖窗口中的内容后,我们将脚本中止半秒(500毫秒)。再次强调一下,这并不是必须要做的事情;我们这样做只是为了减缓脚本速度,以便您能看到显示的第一个进程的名称。半秒后,进入下一个循环并检索关于集合中第二个进程的信息。之后,该脚本将用第二个进程的名称替换InternetExplorer窗口中的现有内容(从技术角度上讲,是赋给InnerHTML属性的值),然后以此类推。 在遍历整个集合后,我们指示该脚本已结束,中止3秒,然后关闭InternetExplorer窗口: objExplorer.Document.Body.InnerHTML="Processinformationretrieved." Wscript.Sleep3000 objExplorer.Quit 运行效果很不错,而且非常简单。因为它使用HTML,这意味着您尽可以使输出如您所愿;事实上,您甚至可以使InternetExplorer窗口的外观像命令窗口一样。如果这还不够酷,那,我们也不知道怎样才算酷了。(事实上,正如一个脚本专家儿子经常提醒他的脚本专家父亲的那样,我们不知道什么是酷。) |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于用vbs将输出内容写到屏幕以覆盖当前屏幕上的内容的方法的所有评论