[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

VBS如何让运行对象置顶?

我想运行脚本的时候,就能让被激活的程序,出现在桌面最顶端。
请教各位达人,这应该如何实现呢?
查询网上资料有人说是通过AppActivate,激活后,立即Sendkeys 回车。
但是由于,在实际中我要运行的的URL是变化的,这也导致,浏览器标题没办法确定。
希望达人们能够教我,获取对象标题的办法,或者,能从别的思路出发,实现脚本一运行就自动浏览页面置顶。
先谢谢各位了!小弟初来乍到,不懂之处还望海涵。

  1. Dim ObjShell
  2. Set ObjShell = CreateObject("Wscript.Shell")
  3. ObjShell.Run "http://www.bathome.net/",1
  4. ObjShell.AppActivate("此处不知如何获取对象标题")
  5. ObjShell.Sendkeys "{enter}"
  6. Set ObjShell=Nothing
复制代码

回复 2楼 的帖子

您说的问题,我有试过。抱歉当时没注意把情况讲清楚。
的确,如果是没有开启浏览器的情况下,这个程序,不需要Appactivate也可以立即置顶显示。
我想处理的情况是,当浏览器本身是打开的但不是处于当前激活(非置顶状态),同时您的任务栏上还有很多其它的任务窗口的情形。此时运行批处理程序,如果不用Appactivate+Sendkeys "{enter}" 的话,只会在任务栏上闪闪,并不能让浏览器置顶显示。早上的时候,我想了个将就的办法,因为我的浏览器是糖果浏览器,显示不同的页面也不会改变这个最前端的标题。所以,对于我而言,这个标题是已知的。于是将上面代码需要输入标题的地方,换成"糖果浏览器"一切就OK了,也实现了我想要的效果。不过,这样子,程序就不具有通用性了。如果不能自动获取标题,我的其他设想就不能够实现了。比如,通过这个程序调用其它的非浏览器的程序,且希望它们置顶显示。又比如,当我需要更换一个默认浏览器时,或者是程序移植到别的机器上(被人拷贝)等等情况都显得不够灵活。 所以,希望大家能教我如何通过Shell获知对象标题。又或者其他办法能够窗口置顶。 另外中间Sleep自然是不可行的,当窗口焦点脱离了目标窗口,再Sendkey就没有意义了。这两句里,是先激活再回车的方式来实现窗口置顶的。所以必须紧连在一起。
…………
任务栏上一堆记事本,Matlab,QQ聊天窗口,酷狗播放器。。。相信大家有过类似的经历。 桌面上一大堆窗口,电脑慢慢的,而您想立即百度搜索一个东西的话,就得费上一两秒切换到浏览器,面对满屏呆滞的浏览器在它的小小搜索栏上输入您想要的东西。
我想做的就是一个,能在开始运行中直接搜索的程序,这样子,就不需要在第一时刻切换满桌面的东西。输入了您要的东西,运行后,就可以直接呈现给您想要的东西。节省了点点空白或呆滞页面的等待时间。

谢谢 Spring的交流~我们继续探讨。

[ 本帖最后由 huzi525 于 2010-4-4 10:26 编辑 ]

TOP

回复 5楼 的帖子

谢谢,Caruko的建议。
VBS我也才刚接触不久,不太了解Autoit。
请问Autoit也是脚本语言吗,不用安装任何东西就可以运行么?
如果不是的话,我还是想先把纯脚本的东西弄懂再谈其它的。

TOP

返回列表