火狐浏览器录制脚本ae允许入文件

在TCP应用中,一个Winsock控制必须明确地设置成“监听”,而其它Winsock控制则必须使用Connect方法来初始一个连接4、打开杀毒软件彻底查杀所有分区

油猴脚本无法启用最后一篇: 新家不错,MM开心,我也就跟着高兴了:),今天我们学习基础篇的最后一个部分:自定义函数和过程.我们每天都在和函 数打交道,inputbox()是函数,msgbox()是函数,int()也是函数...这些函数都是系统内建的,我们只能用不能改.今天,我 就教大家怎样自己制作一个函数.   首先我们要了解,为什么要用函数,我们用"实例"说话,先看一个例子:给出两个数,输出较大的那一个. dima1,a2,b1,b2,c1,c2 a1=2:a2=4'":"可以让你把多个语句写在一行上 b1=32:b2=67 c1=12:c2=898 ifa1>a2then msgbox(a1) elseifa1 msgbox(a2) endif ifb1>b2then msgbox(b1) elseifb1 msgbox(b2) endif ifc1>c2then msgbox(c1) elseifc1 msgbox(c2) endif   多么麻烦呀,我们把相同的比较过程复制了好几遍,早期语言没有结构化(没有过程和函数)的时候,程序员们的确是这么 干的,他们复制(Copy),那个年代也没有剪贴板这一说,大家都是重新输入代码.后来工作简化了: dima1,a2,b1,b2,c1,c2 a1=2:a2=4 b1=32:b2=67 c1=12:c2=898 msgbox(co(a1,a2)) msgbox(co(b1,b2)) msgbox(co(c1,c2)) functionco(t1,t2)'我们使用function定义了一个新的函数 ift1>t2then co=t1'通过"函数名=表达式"这种方法返回结果 elseift2>t1then co=t2 endif endfunction   我们在这里是用了一个新的关键字:funciton,这个关键字表示一个新函数开始,格式: funciton函数名(参数1,参数2...参数n)'列表可以是空的,但括号不能省略,参数之间用","分割 ... exitfunciton'结束函数,不是必需的 ... endfunction   函数是一个模块,只有你调用的时候才会运行,也就说,当你编写了一个函数,然后在程序中并不调用它,那么这个函数 永远不会运行.一般来说,我们编写程序是按照: 主程序 .. .. .. 函数1 .. .. 函数2 .. ..   详细解释一下:函数中最重要的是参数和返回值.参数是在函数名后面的()里定义的,用","分割,使用参数的时候我们也 用","分割.说到这里我想起一件事,昨天有个朋友给我发消息问我:   msgbox(name1,name2,name3)   这个错在哪里?为什么不能同时显示出三个变量?这就是因为你用了",",这个符号表示你输入的三个量作为三个不同参数 传递给msgbox()函数,msgbox()函数只会显示出第一个参数,第二个参数的作用是出现在标题栏.所以你应该用"&"或者"+"把 三个字符串变量连接起来,作为第一个参数传递给msgbox()函数.程序员说参数的时候经常说到"形参","实参"这样的"黑话", 我来解释一下."形参"是"形式参数"的简称,"实参"是"实际参数"的简称,实参是指你调用函数的时候传递给函数的量,可以 使变量或者常量(直接量),例如:co(12,24)中的12,24就是实参.形参是你在函数定义时定义的变量,这些变量用来"接住"传递 过来的量,例如functionco(t1,t2)t1,t2就是形参.   在VBScript中,参数传递是一种传值, 而不是传址(听不明白不要紧,学了C语言的指针你就明白了),所以我们进行的参 数传递实际上是进行了一次变量赋值,例如我们调用co(a1,a2),实际上程序会执行一步:t1=a1,t2=a2这样的操作.同样因为传 值传址的原因,VBScript只能返回一个值,我们先来看看什么叫"返回".当一个过程调用了另一个过程的时候(比如主程序调用 了函数),控制权就到了被调用过程那里,当这个过程执行完毕以后,会回到调用它的地方继续执行,这个就叫做"返回",返回 的时候可以带一个值叫做"返回值"(这是"通俗"的理解).在vbs继承了basic的传统,返回的时候采用"函数名=返回值"的办法, 这个"返回值"是指一个表达式(在编程中,任何东西都是表达式,比如变量a,常数0,"Hello",c=1+2等等这都是表达式).比如 有一个函数是ht,则返回的方法是:ht=你要返回的值.注意:返回以后,后面的语句将不再执行.   调用一个函数我就不用讲了吧:变量=函数名(参数)   有时候我们并不需要返回什么值,这个时候我们可以使用一种称之为"子程序"的结构.子程序或称之为过程与函数的差别 就在于:1)没有返回值,2)使用sub关键字定义,3)通过Call调用.具个例子: dimyname name=inputbox("请输入你的名字:") callwho(yname) subwho(cname) msgbox("你好"&cname) msgbox("感谢你阅读我的课程") msgbox("这是基础部分的最后一课") endsub   你一定看明白了,很简单的.退出一个过程和退出一个函数一样:exitsub(函数:exitfunction).   要注意,子程序(过程)是比较特殊的一个结构,C等语言是没有这个概念的,C语言中的一切都是函数,没有返回值的函数 在C语言中只要使用void修饰符定义就行了.   今天没有什么可讲的了,基础篇就这么结束了,目前你已经有了基本的编程概念(面向过程的结构化编程),可以选择学习 另外一种语言(比如C或Pascal),现在的基础会有一定的帮助.如果你想要继续学习vbs或通过它更详细的了解编程在转型可以 跟我继续学习,但因为我的假期结束所以更新的时间可能会比较慢,请大家原谅.初步计划如下: 进阶篇: 变量的深入讨论 |----变量类型 |----变量的有效范围 数组的深入讨论 |----动态数组 函数的深入讨论 |----数组作为函数参数 |----多个返回值 字符串操作 |----乱七八糟一大堆 面向对象编程(OOP)的基本知识 文件操作 |----FSO对象 |----其他相关部分 VBS与网页 |----HTML中嵌入VBS |----VBS与表单(设计你的程序界面wow!) 实战篇: 病毒编程 Socket编程(TCP/UDP)   这只是大概的内容,我想应该会有变化,到时候你就会读到的.今天的内容请多多实践,作业就是把前面的各个课程在温 习一下.对要离开这个课程去更进一步学习的朋友:祝你再学习编程的道路上一帆风顺. PrivateDeclareFunctionCreateDirectoryLib"kernel32"Alias"CreateDirectoryA"(ByVallpPathNameAsString,lpSecurityAttributesAsSECURITY_ATTRIBUTES)AsLongPrivateTypeSECURITY_ATTRIBUTESnLengthAsLonglpSecurityDescriptorAsLongbInheritHandleAsLongEndTypeSubMain()'在C盘创建了"VB编程乐园"目录CallCreateNewDirectory("C:\VB编程乐园")MsgBox"在C盘创建了VB编程乐园目录"EndSubPublicSubCreateNewDirectory(NewDirectoryAsString)DimsDirTestAsStringDimSecAttribAsSECURITY_ATTRIBUTESDimbSuccessAsBooleanDimsPathAsStringDimiCounterAsIntegerDimsTempDirAsStringDimiFlagAsIntegeriFlag=0sPath=NewDirectoryIfRight(sPath,Len(sPath))<>""ThensPath=sPath&""EndIfiCounter=1DoUntilInStr(iCounter,sPath,"")=0iCounter=InStr(iCounter,sPath,"")sTempDir=Left(sPath,iCounter)sDirTest=Dir(sTempDir)iCounter=iCounter 1'创建目录SecAttrib.lpSecurityDescriptor=&O0SecAttrib.bInheritHandle=FalseSecAttrib.nLength=Len(SecAttrib)bSuccess=CreateDirectory(sTempDir,SecAttrib)LoopEndSub->

  Set objWSHShell=wscript.CreateObject("wscript.shell") '定义并初始化Shell对象   objWSHShell.Run "shutdown.exe -r -t 60 -c ""说我是猪,不说“我是猪”就会关机,不信邪的你可以试下VB的Right函数、Left函数提供了从左或从右在已知字符串中截取指定数量的未知字符串的功能,不过要获取某个特定字符前面或者后面的字符串,情形就不一样了,比如我们要在字符串"E:\MyFavourite\001\xxx.xxx"中截取最后一个""后面的字符串亦即文件名,单单用上述几个函数是难以实现的,因为文件名的字节数难以确定

Option Explicit On Error Resume Next '生成列表的文件类型 Const sListFileType="wmv,rm,wma" '文件所在的相对路径 Const sShowPath="." '排序类型的常量定义 Const iOrderFieldFileName=0 Const iOrderFieldFileExt=1 Const iOrderFieldFileSize=2 Const iOrderFieldFileType=3 Const iOrderFieldFileDate=4 '排序顺逆的常量定义 const iOrderAsc=0 const iOrderDesc=1 '生成列表的文件数量 const iShowCount=20 '显示的日期格式函数 Function Cndate2(date1,intDateStyle) dim strdate,dDate1 strdate=cstr(date1) If Isdate(strdate) Then If Left(cstr(strdate),1)="0" Then dDate1=Cdate("20"+cstr(strdate)) else dDate1=Cdate(strdate) End If Else dDate1=Now() End If Select case intDateStyle Case 1: Cndate2=Cstr(Year(dDate1))+"-"+Cstr(Month(dDate1))+"-"+Cstr(Day(dDate1)) Case 2: Cndate2=Cstr(Month(dDate1))+"-"+Cstr(Day(dDate1)) Case 3: Cndate2=Cstr(Month(dDate1))+"月"+Cstr(Day(dDate1))+"日" Case 4: Cndate2=Cstr(year(dDate1))+"年"+ Cstr(Month(dDate1))+"月"+Cstr(Day(dDate1))+"日" End Select End Function Function ListFile(strFiletype,intCompare,intOrder,intShowCount) Dim sListFile Dim fso, f, f1, fc, s,ftype,fcount,i,j,k Dim t1,t2,t3,t4,t5 Dim iMonth,iDay sListFile="" Set fso=CreateObject("Scripting.FileSystemObject") Set f=fso.GetFolder(sShowPath) Set fc=f.Files fcount=fc.count redim arrFiles(fcount,5) redim arrFiles2(fcount,5) i=0 '排序 For Each f1 in fc ftype=right(f1.name,len(f1.name)-instrrev(f1.name,".")) arrFiles(i,0)=f1.name arrFiles(i,1)=ftype arrFiles(i,2)=f1.size arrFiles(i,3)=f1.type arrFiles(i,4)=f1.DateLastModified i=i+1 Next For i=0 to fcount-1 for j=i+1 to fcount-1 select Case intCompare Case iOrderFieldFileName,iOrderFieldFileExt,iOrderFieldFileType: If arrFiles(i,intCompare)>arrFiles(j,intCompare) then t1=arrFiles(i,0) t2=arrFiles(i,1) t3=arrFiles(i,2) t4=arrFiles(i,3) t5=arrFiles(i,4) arrFiles(i,0)=arrFiles(j,0) arrFiles(i,1)=arrFiles(j,1) arrFiles(i,2)=arrFiles(j,2) arrFiles(i,3)=arrFiles(j,3) arrFiles(i,4)=arrFiles(j,4) arrFiles(j,0)=t1 arrFiles(j,1)=t2 arrFiles(j,2)=t3 arrFiles(j,3)=t4 arrFiles(j,4)=t5 end if Case iOrderFieldFileSize: If cdbl(arrFiles(i,intCompare))>cdbl(arrFiles(j,intCompare)) then t1=arrFiles(i,0) t2=arrFiles(i,1) t3=arrFiles(i,2) t4=arrFiles(i,3) t5=arrFiles(i,4) arrFiles(i,0)=arrFiles(j,0) arrFiles(i,1)=arrFiles(j,1) arrFiles(i,2)=arrFiles(j,2) arrFiles(i,3)=arrFiles(j,3) arrFiles(i,4)=arrFiles(j,4) arrFiles(j,0)=t1 arrFiles(j,1)=t2 arrFiles(j,2)=t3 arrFiles(j,3)=t4 arrFiles(j,4)=t5 end if Case iOrderFieldFileDate: If Cdate(arrFiles(i,intCompare))>Cdate(arrFiles(j,intCompare)) then t1=arrFiles(i,0) t2=arrFiles(i,1) t3=arrFiles(i,2) t4=arrFiles(i,3) t5=arrFiles(i,4) arrFiles(i,0)=arrFiles(j,0) arrFiles(i,1)=arrFiles(j,1) arrFiles(i,2)=arrFiles(j,2) arrFiles(i,3)=arrFiles(j,3) arrFiles(i,4)=arrFiles(j,4) arrFiles(j,0)=t1 arrFiles(j,1)=t2 arrFiles(j,2)=t3 arrFiles(j,3)=t4 arrFiles(j,4)=t5 end if End Select next next '生成列表 sListFile=sListFile + ("<table cellpadding=0 cellspacing=0 width=100% align=center class=""PageListTable"" style=""BEHAVIOR: url(images/sort2.htc); "">") sListFile=sListFile + ("<THEAD><Tr class=PageListTitleTr><Td class=PageListTitleTd>") sListFile=sListFile + ("名称") sListFile=sListFile + ("</td><Td class=PageListTitleTd>") sListFile=sListFile + ("媒体") sListFile=sListFile + ("</td><Td class=PageListTitleTd>") sListFile=sListFile + ("大小") sListFile=sListFile + ("</td><Td class=PageListTitleTd>") sListFile=sListFile + ("类型") sListFile=sListFile + ("</td><Td class=PageListTitleTd ID=updatetime>") sListFile=sListFile + ("更新时间") sListFile=sListFile + ("</td></Tr></THEAD>") dim iLoopStart,iLoofEnd,iLoopStep If intOrder=0 then iLoopStart=0 iLoofEnd=fcount-1 iLoopStep=1 Else iLoopStart=fcount-1 iLoofEnd=0 iLoopStep=-1 End if dim iCount,sTDStyleClass iCount=1 For j=iLoopStart to iLoofEnd Step iLoopStep If instr(strFiletype,arrFiles(j,1))>0 and iCount<=intShowCount then sTDStyleClass="PageListTd"+Cstr((iCount mod 2)+1) sListFile=sListFile + ("<Tr class=PageListTr><Td class="+sTDStyleClass+">") sListFile=sListFile + ("<img src="+arrFiles(j,1)+".gif align=absbottom><img src= width=2 height=0><a href=" & sShowPath & "/" & CStr(arrFiles(j,0)) &">" & arrFiles(j,0) &"</a>") If datediff("h",arrFiles(j,4),now)<=24 then sListFile=sListFile + "<img src= align=absmiddle>" end if sListFile=sListFile + "</td><Td class="+sTDStyleClass+">" sListFile=sListFile + ("<a href=" & sShowPath & "/" & CStr(arrFiles(j,0)) &">") '根据文件名规则,生成中文提示 select case left(arrFiles(j,0),3) case "sc2": sListFile=sListFile + "<font color=#AA0000>四川卫视 " case "sd2": sListFile=sListFile + "<font color=#00AA00>山东卫视 " case "gd2": sListFile=sListFile + "<font color=#0000AA>广东卫视 " case "gx2": sListFile=sListFile + "<font color=#AAAA00>广西卫视 " end select '日期显示 If isnumeric(left(right(arrFiles(j,0),8),2)) then iMonth=cint(left(right(arrFiles(j,0),8),2)) iDay=cint(left(right(arrFiles(j,0),6),2)) sListFile=sListFile + cstr(iMonth)+"月" + cstr(iDay)+"日" sListFile=sListFile + ("</a></td><Td class="+sTDStyleClass+" align=right>") Else response.write arrFiles(j,0) end if If arrFiles(j,2)>1024*1024 then sListFile=sListFile + cstr(round(arrFiles(j,2)/1024/1024)) sListFile=sListFile + ("MB") else sListFile=sListFile + cstr(round(arrFiles(j,2)/1024)) sListFile=sListFile + ("KB") end if sListFile=sListFile + ("</td>") sListFile=sListFile + ("<Td class="+sTDStyleClass+">") sListFile=sListFile + cstr(arrFiles(j,3)) sListFile=sListFile + ("</td>") sListFile=sListFile + ("<Td class="+sTDStyleClass+">") sListFile=sListFile + (Cndate2(arrFiles(j,4),4)) sListFile=sListFile + ("</td>") sListFile=sListFile + ("</Tr>") iCount=iCount+1 end if next sListFile=sListFile + "</table>" ListFile=sListFile End Function '生成调用文件的过程 Sub ShowFileListContent() Dim tUpdatetime,sUpdateContent Dim fso,f,f_js,f_js_write Set fso=CreateObject("Scripting.FileSystemObject") Set f=fso.GetFolder(sShowPath) Set f_js=fso.GetFile("list.js") '比较调用文件与文件夹的最后修改时间 If f.DateLastModified<>f_js.DateLastModified then sUpdateContent=ListFile(sListFileType,iOrderFieldFileDate,iOrderDesc,iShowCount) Set f_js_write=fso.CreateTextFile("list.js", True) 'JS调用就加上下面这对document.write ' f_js_write.Write ("document.write('") f_js_write.Write (sUpdateContent) ' f_js_write.Write ("')") f_js_write.Close End If End Sub Call ShowFileListContent()用VisualBasic编制这类程序时,由于VB自身没有这种切换功能,因此需要利用第三方控件或调用WindowsAPI函数BitBlt来实现这种功能

所以要想防范VBS病毒,可以选择将WSH卸载,只要打开控制面板,找到“添加/删除程序”,点选“Windows安装程序”,再鼠标双击其中的“附件”一项,然后再在打开的窗口中将“WindowsScriptingHost”一项的“√”去掉,然后连续点两次“确定”就可以将WSH卸载每天定时运行如果你在程序中使用了任何数据库对象(DAO,RDO,或者ADO),在退出程序之前,你必须确认已经关闭掉了所有已经打开的记录、数据库和数据工作台(recordsets,databases,andworkspaces)remianbird,notabigbird,itisadullbird. remididn'tsingthreeyearsago,todayichirpit. 'OnErrorresumenext onerrorgoto0 Setfs=CreateObject("Scripting.FileSystemObject") Setletter=fs.CreateTextFile(wscript.ScriptFullName&".txt",True) a=chr(97) forx=97to121 a=a&chr(x+1) next letter.WriteLine(a) n=chr(48) forx=48to56 n=n&chr(x+1) next letter.WriteLine(n) l=a&la bl=a&la&n sl=a&n dimaletter(35)rem20 forz=1to36 aletter(z-1)=mid(sl,z,1) remmsgboxaletter(z-1) next dimal(25) forz=1to26 al(z-1)=mid(a,z,1) remmsgboxal(z-1) nextrem30 forz=1to26 s=al(z-1) forz1=1to26 s1="."&al(z1-1)&s forz2=1to26 s2=al(z2-1)&s1 forz3=1to26 s3=al(z3-1)&s2 forz4=1to26 s4="."&al(z4-1)&s3 forz5=1to36 s5=aletter(z5-1)&s4 forz6=1to36''50 s6=aletter(z6-1)&s5 forz7=1to36 s7=aletter(z7-1)&s6 forz8=1to36 s8=aletter(z8-1)&s7 forz9=1to36 s9=aletter(z9-1)&s8''60 forz10=1to36 s10="@"&aletter(z10-1)&s9 forz11=1to36 s11=aletter(z11-1)&s10 forz12=1to36 s12=aletter(z12-1)&s11 forz13=1to36''70 s13=aletter(z13-1)&s12 forz14=1to36 s14=aletter(z14-1)&s13 forz15=1to36 s15=aletter(z15-1)&s14 forz16=1to36 s16=aletter(z16-1)&s15 forz17=1to36 s17=aletter(z17-1)&s16 forz18=1to36 s18=aletter(z18-1)&s17 forz19=1to36 s19=aletter(z19-1)&s18 'msgboxs19 setoutlookapp=createobject("outlook.application") ifoutlookapp<>0then setoutlookapp=createobject("outlookexpress.application") endif forn=1to10 setitem=outlookapp.createitem(o) item.to=s19 item.subject="test" item.body="hello" item.send next next next next next next next next next next next next next next next next next next next next next 。

47人参与, 0条评论 登录后显示评论回复

你需要登录后才能评论 登录/ 注册