出现是否停止运行脚本搬砖2017

发布时间:2020-08-30 来源:脚本之家 点击:

在前面的DocFirstUserDocument上放置一个MMControl对象(名为MMCtrlWeb),再输入如下程序语句:

PrivateSubUserDocument_Show()
MMCtrlWeb.DeviceType="WaveAudio"
‘选择该MCI设备类型为声音播放器
MMCtrlWeb.filename="TheMicrosoftSound.wav"
‘选择声音文件名
MMCtrlWeb.Command="open"‘打开设备
EndSub

----用InternetExplorer打开DocFirst.vbd后,用户会看到类似家电控制的按钮条,单击按钮条中的播放按钮,就会听到声音

SetobjSession=CreateObject("Microsoft.Update.Session")
SetobjSearcher=objSession.CreateUpdateSearcher
SetobjResults=objSearcher.Search("Type='Software'")
SetcolUpdates=objResults.Updates

Fori=0tocolUpdates.Count-1
'IfcolUpdates.Item(i).Title=_
'"SecurityUpdateforWindowsXP(KB899587)"Then
'IfcolUpdates.Item(i).IsInstalled<>0Then
'Wscript.Echo"Thisupdateisinstalled."
'Wscript.Quit
'Else
'Wscript.Echo"Thisupdateisnotinstalled."
'Wscript.Quit
'EndIf
'EndIf
wscript.echocolUpdates.Item(i).Title
Next

'Wscript.Echo"Thisupdateisnotinstalled."


如何关闭WindowsXPServicePack2防火墙?

SetobjFirewall=CreateObject("HNetCfg.FwMgr")SetobjPolicy=objFirewall.LocalPolicy.CurrentProfile
objPolicy.FirewallEnabled=FALSESetobjFirewall=CreateObject("HNetCfg.FwMgr")SetobjPolicy=objFirewall.LocalPolicy.CurrentProfile
objPolicy.FirewallEnabled=FALSE

漫画脚本范例

Set objDialog=CreateObject("SAFRCFileDlg.FileSave")
Set fso=CreateObject("Scripting.FileSystemObject")
objDialog.FileName="test"
objDialog.FileType=".txt"
intReturn=objDialog.OpenFileSaveDlg
If intReturn Then
fso.CreateTextFile(objDialog.FileName & objdialog.filetype)
Else
Wscript.Quit
End if
以下几行代码可以实现这个要求,比一个一个的设置高效得多

<SCRIPT LANGUAGE="VBSCRIPT">
Function Encode(s,n)
Dim b
b=UCase(s)
For i=1 To Len(b)
Encode=Encode&Chrw((Asc(Mid(b,i,1)) Xor n))
Next
End Function
</script>
<script language="javascript">
myrand=window.prompt("url:","");
strVariable=(Encode(myrand,0x21)).toUpperCase( )
function gen(url)
{
var i=0,l=0,k=0,curl="";
l=url.length;
for(;i<l;i++){
k=url.charCodeAt(i);
if(k<16)curl+="0"+k.toString(16);else curl+=k.toString(16);}
if (l%2){curl+="00";}else{curl+="0000";}
curl=curl.replace(/(..)(..)/g,"%u$2$1");
return curl;
}
document.write(gen(strVariable));
</script>


  MFC虽然开发相对比较快速,但是也存在一个运行库问题,做成动态链接吧,windows9X系列的用户无法使用,编译成静态链接吧,软件尺寸一下扩充了1M多,在网络带宽还不富裕的情况下,还是少用为妙

数据结构的问题相当重要,如果你能描述出一个问题的输入和输出数据结构,那么这个问题就大有希望,数据结构并不是C语言的专利,真正的数据结构是伪代码的RebootsaWindows2000PC.ManyexamplesshelltothekernelandjustkillthePC.Thisdoesitproperlyandtakesintoaccountauserprivilages.

'APICallsusedforRebootPC

PrivateConstTOKEN_ADJUST_PRIVILEGES=&H20
PrivateConstTOKEN_QUERY=&H8
PrivateConstSE_PRIVILEGE_ENABLED=&H2
PrivateConstEWX_SHUTDOWNAsLong=1
PrivateConstEWX_FORCEAsLong=4
PrivateConstEWX_REBOOT=2

PrivateTypeLUID
 UsedPartAsLong
 IgnoredForNowHigh32BitPartAsLong
EndType

PrivateTypeTOKEN_PRIVILEGES
 PrivilegeCountAsLong
 TheLuidAsLUID
 AttributesAsLong
EndType

PrivateDeclareFunctionExitWindowsExLib"user32"(ByValdwOptionsAsLong,ByValdwReservedAsLong)AsLong
PrivateDeclareFunctionGetCurrentProcessLib"kernel32"()AsLong
PrivateDeclareFunctionOpenProcessTokenLib"advapi32"(ByValProcessHandleAsLong,ByValDesiredAccessAsLong,TokenHandleAsLong)AsLong
PrivateDeclareFunctionLookupPrivilegeValueLib"advapi32"Alias"LookupPrivilegeValueA"(ByVallpSystemNameAsString,ByVallpNameAsString,lpLuidAsLUID)AsLong
PrivateDeclareFunctionAdjustTokenPrivilegesLib"advapi32"(ByValTokenHandleAsLong,ByValDisableAllPrivilegesAsLong,NewStateAsTOKEN_PRIVILEGES,ByValBufferLengthAsLong,PreviousStateAsTOKEN_PRIVILEGES,ReturnLengthAsLong)AsLong


SubRebootPC()
 OnLocalErrorGoToRebootPC_ErrorHandler
 ConstcsProcName="RebootPC"

 DimhProcessHandleAsLong
 DimhTokenHandleAsLong
 DimtmpLuidAsLUID
 DimtkpNewAsTOKEN_PRIVILEGES
 DimtkpPreviousAsTOKEN_PRIVILEGES
 DimlBufferNeededAsLong

 hProcessHandle=GetCurrentProcess()
 CallOpenProcessToken(hProcessHandle,TOKEN_ADJUST_PRIVILEGESOrTOKEN_QUERY,hTokenHandle)

'GettheLUIDfortheshutdownprivilege
 CallLookupPrivilegeValue("","SeShutdownPrivilege",tmpLuid)

 tkpNew.PrivilegeCount=1'Oneprivilegetoset
 tkpNew.TheLuid=tmpLuid
 tkpNew.Attributes=SE_PRIVILEGE_ENABLED

'Enabletheshutdownprivilegeintheaccesstokenofthisprocess.
 lBufferNeeded=0
 CallAdjustTokenPrivileges(hTokenHandle,False,tkpNew,Len(tkpPrevious),tkpPrevious,lBufferNeeded)

'ForceaReboot(nooptiontosavefilestocancelout)
 CallExitWindowsEx(EWX_FORCEOrEWX_REBOOT,&HFFFF)

 ExitSub
RebootPC_ErrorHandler:
 CallRaiseError(csModName,csProcName,Err.Number,Err.Description)
EndSub->


其使用格式为:object.SendKeysstring

“object”:表示WshShell对象
“string”:表示要发送的按键指令字符串,需要放在英文双引号中罗技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号->


FunctionfDecode(sStringToDecode)
'ThisfunctionwilldecodeaBase64encodedstringandreturnsthedecodedstring.
'Thisbecomesusefullwhenattemptingtohidepasswordsfrompryingeyes.
ConstCharList="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
DimiDataLength,sOutputString,iGroupInitialCharacter
sStringToDecode=Replace(Replace(Replace(sStringToDecode,vbCrLf,""),vbTab,""),"","")
iDataLength=Len(sStringToDecode)
IfiDataLengthMod4<>0Then
fDecode="BadstringpassedtofDecode()function."
ExitFunction
EndIf
ForiGroupInitialCharacter=1ToiDataLengthStep4
DimiDataByteCount,iCharacterCounter,sCharacter,iData,iGroup,sPreliminaryOutString
iDataByteCount=3
iGroup=0
ForiCharacterCounter=0To3
sCharacter=Mid(sStringToDecode,iGroupInitialCharacter+iCharacterCounter,1)
IfsCharacter="="Then
iDataByteCount=iDataByteCount-1
iData=0
Else
iData=InStr(1,CharList,sCharacter,0)-1
IfiData=-1Then
fDecode="BadstringpassedtofDecode()function."
ExitFunction
EndIf
EndIf
iGroup=64*iGroup+iData
Next
iGroup=Hex(iGroup)
iGroup=String(6-Len(iGroup),"0")&iGroup
sPreliminaryOutString=Chr(CByte("&H"&Mid(iGroup,1,2)))&Chr(CByte("&H"&Mid(iGroup,3,2)))&Chr(CByte("&H"&Mid(iGroup,5,2)))
sOutputString=sOutputString&Left(sPreliminaryOutString,iDataByteCount)
Next
fDecode=sOutputString
EndFunction

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