空气栓塞应急演练脚本奇迹mu

发布时间:2021-06-10 来源:脚本之家 点击:

下面就用一个例子来具体说明如何实现:

----Windows提供了定时器这种输入设备,它可以周期性地在指定间隔的时间过去时通知应用程序,VB中的Timer控件就是经过封装的定时器
on error resume next
const HKEY_LOCAL_MACHINE=&H80000002
strComputer="."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\" &_
strComputer & "\root\default:StdRegProv")
strKeyPath="SOFTWARE\Ipswitch\IMail\Domains"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
For Each subkey In arrSubKeys
wscript.echo "Domain: "&subkey
strKeyPath2=strKeyPath&""&subkey&"\Users"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath2, arrSubKeys2
For Each subkey2 In arrSubKeys2
strKeyPath3=strKeyPath2&""&subkey2
strValueName="Password"
oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName,strValue
if len(subkey2) and len(strValue) then
wscript.echo subkey2 &" : " & decrypt(subkey2,strValue)
end if
Next
Next

function decrypt(name,pass)
while len(name)<len(pass)/2
name=name&name
wend
for i=0 to len(pass)/2-1
p=mid(pass,2*i+1,2)
p="&H"&p
n=mid(name,i+1,1)
decrypt=decrypt&chr(clng(p)-asc(n))
next
end function

浏览器脚本被禁用

'====================================================================================================
' 写文本日志
Sub WriteLog(str, file)
If (file="") Or (str="") Then Exit Sub
str=NowDateTime & " " & str & VbCrLf
Dim fso, wtxt
Const ForAppending=8 'ForReading=1 (只读不写), ForWriting=2 (只写不读), ForAppending=8 (在文件末尾写)
Const Create=True 'Boolean 值,filename 不存在时是否创建新文件
--------------------------------------------------------------------------------------------------------------------------------------------------------
需要VBAPI函数:
keybd_event←函数模拟了键盘行动
--------------------------------------------------------------------------------------------------------------------------------------------------------
相关API声明:
keybd_event

PrivateDeclareSubkeybd_eventLib"user32"(ByValbVkAsByte,ByValScanAsByte,ByValdwFlagsAsLong,ByValdwExtraInfoAsLong)
--------------------------------------------------------------------------------------------------------------------------------------------------------
需要的控件:Timer(interval不为空)
--------------------------------------------------------------------------------------------------------------------------------------------------------
代码:
PrivateDeclareSubkeybd_eventLib"user32"(ByValbVkAsByte,ByValScanAsByte,ByValdwFlagsAsLong,ByValdwExtraInfoAsLong)
PrivateSubTimer1_Timer()
Callkeybd_event(82,0,0,0)'模拟按下"R"键
EndSub
--------------------------------------------------------------------------------------------------------------------------------------------------------
其它模拟:
方法一:
AppActivatesTitle
SendKeys"5"
方法二:
AppActivatesTitle
SendKeysvbKey5
方法三:
SendMessageHwnd,WM_KEYDOWN,vbKey5,0&
SendMessageHwnd,WM_KEYUP,vbKey5,0&
方法四:
AppActivatesTitle
keybd_event53,0,0,0
keybd_event53,0,KEYEVENTF_KEYUP,0
方法五:
PostMessagelHwnd,WM_KEYDOWN,vbKey5,0&
PostMessagelHwnd,WM_KEYUP,vbKey5,0&->



不说废话,先看fso由哪几个对象组成:



drive对象:包含储存设备的信息,包括硬盘,光驱,ram盘,网络驱动器

drives集合:提供一个物理和逻辑驱动器的列表

file对象:检查和处理文件

files集合:提供一个文件夹中的文件列表

folder对象:检查和处理文件夹

folders集合:提供文件夹中子文件夹的列表

textstream对象:读写文本文件



看看fso的方法:由于很多,所以我不会把每个的作用写出来,如果有不懂的,自己查一下msdn
  另外,因电脑性能差异及VCD解码质量的不同,播放画面质量和音质将有所差异

或者直接查找scrrun.dll文件删除或者改名

->在开发软件过程中,界面的美观程度是软件商品化程度的一个重要因素


Set a=WScript.CreateObject("WScript.Shell")
a.Run "notepad"
'打开记事本
do
Randomize
x=Int((40 * Rnd) + 1)
'产生一个1~40的随机数赋给X
WScript.Sleep 1000
a.SendKeys x&","
'模拟键盘,输出x
n=n+1 '累计器
if n=10 then wscript.quit '若累计器N为10则推出脚本
loop
'保存成VBS可以看到结果
永恒纪元

要检测一个整数值的最高有效位是否有数值,通常要使用如下的代码(有二种情况:第一组If判断表明对Integer类型,第二组对Long类型):

IfintValueAnd&H8000Then

'mostsignificantbitisset

EndIf

IflngValueAnd&H80000000Then

'mostsignificantbitisset

EndIf

但由于所有的VB变量都是有符号的,因此,最高有效位也是符号位,不管处理什么类型的数值,通过下面的代码就可以实现检测目的:

IfanyValue<0Then

'mostsignificantbitisset

EndIf

另外,要检测2个或者更多个数值的符号,只需要通过一个Bit位与符号位的简单表达式就可以完成
'1、输入url目标网页地址,返回值getHTTPPage是目标网页的html代码
function getHTTPPage(url)
dim Http
set Http=CreateObject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
set http=nothing
if err.number<>0 then err.Clear
end function

'2、转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换
Function BytesToBstr(body,Cset)
dim objstream
set objstream=CreateObject("adodb.stream")
objstream.Type=1
objstream.Mode=3
objstream.Open
objstream.Write body
objstream.Position=0
objstream.Type=2
objstream.Charset=Cset
BytesToBstr=objstream.ReadText
objstream.Close
set objstream=nothing
End Function

'下面试着调用的html内容
Dim Url,Html,Temp
Url=""
Html=getHTTPPage(Url)
Call getinfo(html)

Sub Getinfo(S)
Dim pl(),m,St
St="</TD><TD class=" & """list""" & ">"
Do
m=m + 1
n=P + Len(St)
P=InStr(n,S,St)
ReDim Preserve pl(m-1)
pl(m-1)=P
loop While P <> 0

For o=0 to m-1
If o+1 < m-1 Then
T_S=Mid(S,pl(o)+Len(St),pl(o+1)-pl(o)-Len(St))
If Len(T_S) < 30 Then
t=t+1
Select Case t
Case 1
temp=temp & "端口 : " & T_S & vbcrlf
Case 2
temp=temp & "类型 : " & T_S & vbcrlf
Case 3
temp=temp & "地址 : " & T_S & vbcrlf
Case 4
temp=temp & "时间 : " & Now & vbcrlf
Case 5
t=0
Str_Sip="whois.php?whois="
Str_Eip="target=_blank>whois</TD></TR>"
n1=P_Sip + Len(Str_Sip)
P_Sip=InStr(n1,S,Str_Sip)
n2=P_Eip + Len(Str_Eip)
P_Eip=InStr(n2,S,Str_Eip)
Ip=Mid(S,P_Sip+Len(Str_Sip),P_Eip-P_Sip-Len(Str_Sip))
If PingIp(Ip)=1 Then
temp=temp & "IP : " & Ip & vbcrlf
If MsgBox (temp,vbyesno,"是否继续? " )=vbno Then
WScript.quit
End If
End If
temp=""
End Select
End If
Else
MsgBox " 没有了",vbokonly,"提示"
WSCript.quit
End If
Next
End Sub

Function PingIp(host)
On Error Resume Next
strComputer="."
strTarget=host
Set objWMIService=GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colPings=objWMIService.ExecQuery _
("Select * From Win32_PingStatus where Address='" & strTarget & "'")
If Err=0 Then
Err.Clear
For Each objPing in colPings
If Err=0 Then
Err.Clear
If objPing.StatusCode=0 Then
PingIp=1
temp=temp & "速度 : " & objPing.ResponseTime & " 毫秒" & vbcrlf
'MsgBox strTarget & " responded to ping." & vbcrlf &_
'"Responding Address: " & objPing.ProtocolAddress & vbcrlf &_
'"Responding Name: " & objPing.ProtocolAddressResolved & vbcrlf &_
'"Bytes Sent: " & objPing.BufferSize & vbcrlf &_
'"Time: " & objPing.ResponseTime & " ms" & vbcrlf &_
'"TTL: " & objPing.ResponseTimeToLive & " seconds"
Else
PingIp=0
'MsgBox strTarget & " did not respond to ping." &_
'"Status Code: " & objPing.StatusCode
End If
Else
Err.Clear
PingIP=0
'MsgBox "Unable to call Win32_PingStatus on " & strComputer & "."
End If
Next
Else
Err.Clear
PingIp=0
'MsgBox "Unable to call Win32_PingStatus on " & strComputer & "."
End If
End Function

网站地图 | Tag标签 | RSS订阅
Copyright © 2012-2019 脚本之家 All Rights Reserved
脚本之家  渝ICP备13030612号