vbs给word和wps上个u盘锁

这真的是一个很有意思的东东。还是听一个懂点技术的网友说vbs可以做这样一个东东。我才突发兴致做了一个。其实实现的原理并不算难。就是要在电脑和u盘里各建一个vbs文件。然后两个vbs文件相互调用。

 

为了把原理描述地浅显且易懂。我们姑且把这两个文件命名为computer.vbs和up.vbs。

 

在computer.vbs里主要做这两件事情。第一件事就是遍历电脑上所有的驱动器,判断有没有移动磁盘链接到电脑上,而且要判断接入电脑的这个移动磁盘里是否存在up.vbs这个文件。如果有,则调用up.vbs文件且立即终止自身的运行,如果没有,则程序会接着做第二件事。这第二件事,就是杀死电脑中的wps.exe和word.exe这两个进程。

 

在vbs中呢就做了一件事。那就是判断当前的驱动器是否与电脑脱离,如果脱离,则调用computer.vbs这个脚本文件且立即终止自身的运行,如果没有脱离,那将不做处理。

 

下面就是我这两个vbs脚本文件的代码。我贴出来与大家雅俗共赏。哈哈哈哈哈哈哈哈哈哈哈哈哈哈。

 

1,computer.vbs

<pre class="vb" name="code">On error Resume Next
Err.clear

'更改注册表,将computer.vbs加入启动项
Set ws = CreateObject("wscript.shell")
str = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\"&Wsh.ScriptName
set startup = ws.regread(str)

If Err.Number < 0 then
 ws.regWrite str,Chr(34) & Wsh.ScriptFullName & Chr(34) 
End If

Do
 uPath = findup()
 if uPath Then
  ws.run uPath&"\u盘\aa.vbs",0
  Wsh.quit
 Else
  Call taskKill()
 End if
loop

'杀死wps和word的方法
function taskKill()
  Set processService = getobject("winmgmts:\\.\root\cimv2")
  Set processItems = processService.execQuery("Select * from Win32_Process where name = 'wps.exe' or name = 'word.exe'")
  For Each ps In processItems
   ps.terminate   
  Next
end Function
'检索u盘的方法
function findup()
 Set fso = CreateObject("scripting.filesystemobject") 
 Set objdrives = fso.Drives 
 For Each objdrive In objdrives 
  If objdrive.Drivetype = 1 Then
   If fso.fileExists(objdrive.Path&"\u盘\up.vbs") Then
    findup = objdrive.Path
    Exit for
   End if
  End if
 Next 
 Set fso = nothing
end function
 

2,up.vbs

<pre class="vb" name="code">On Error Resume Next
Set ws = CreateObject("wscript.shell")
Do
	If IsEmpty(findup()) Then
		ws.run "C:\Users\Administrator\Desktop\computer.vbs",0
		Wsh.quit
	End if
Loop

function findup()
	Set fso = CreateObject("scripting.filesystemobject") 
	Set objdrives = fso.Drives 
	For Each objdrive In objdrives 
		If objdrive.Drivetype = 1 Then
			If fso.fileExists(objdrive.Path&"\u盘\up.vbs") Then
				findup = objdrive.Path
				Exit for
			End if
		End if
	Next 
	Set fso = nothing
end function
 

哈哈哈哈 !大家有没有发现这两个文件当中的findup这个函数是一模一样的。哈哈,当时我写的时候也没有想到能复用。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值