神武辅助脚本极速钱
你知道ADO控件和DATA控件有冲突吗?试一试下面的例子:DimdbAsDatabaseDimrsAsRecordsetSetdb=OpenDatabase("d:\stock\yline.mdb")Setrs=db.OpenRecordset("selectcount(*)astotalcountfromylinewhere条件")***MsgBox(rs(0))rs.Closedb.CloseSetrs=NothingSetdb=Nothing‘注明,这个例子在一般情况下运行正常只有当一个FROM中已有ADO控件,你运行上面的例子程序就会在***处的语句中出现实时错误'13',类型不匹配的错误这就是ADO控件和DATA控件的冲突,如果你想共存的话,下面的对你就有用了 *********************** '*StartScript '*********************** DimsComputerName,sUserOrGroup,sPath,computerContainer,rootDSE,lFlag DimsecDescriptor,dACL,ACE,oComputer,sPwd ' '*Declareconstantsusedindefiningthedefaultlocationforthe '*machineaccount,flagstoidentifytheobjectasamachineaccount, '*andsecurityflags 'ConstUF_WORKSTATION_TRUST_ACCOUNT=&H1000 ConstUF_ACCOUNTDISABLE=&H2 ConstUF_PASSWD_NOTREQD=&H20 ConstADS_GUID_COMPUTRS_CONTAINER="aa312825768811d1aded00c04fd8d5cd" ConstADS_ACETYPE_ACCESS_ALLOWED=0 ConstADS_ACEFLAG_INHERIT_ACE=2 ' '*Settheflagsonthisobjecttoidentifyitasamachineaccount '*anddeterminethename.Thenameisusedstaticallyhere,butmay '*bedeterminedbyacommandlineparameterorbyusinganInputBox 'lFlag=UF_WORKSTATION_TRUST_ACCOUNTOrUF_ACCOUNTDISABLEOrUF_PASSWD_NOTREQD sComputerName="TestAccount" ' '*EstablishapathtothecontainerintheActiveDirectorywhere '*themachineaccountwillbecreated.Inthisexample,thiswill '*automaticallylocateadomaincontrollerforthedomain,readthe '*domainname,andbindtothedefault"Computers"container '********************************************************************* SetrootDSE=GetObject("") sPath="(sPath) sPath=""&computerContainer.Get("distinguishedName") SetcomputerContainer=GetObject(sPath) ''*Here,thecomputeraccountiscreated.Certainattributesmust '*haveavaluebeforecalling.SetInfotocommit(write)theobject '*totheActiveDirectory 'SetoComputer=computerContainer.Create("computer","CN="&sComputerName) oComputer.Put"samAccountName",sComputerName+"$" oComputer.Put"userAccountControl",lFlag oComputer.SetInfo ' '*Establishadefaultpasswordforthemachineaccount 'sPwd=sComputerName&"$" sPwd=LCase(sPwd) oComputer.SetPasswordsPwd ''*Specifywhichuserorgroupmayactivate/jointhiscomputertothe '*domain.Inthisexample,"MYDOMAIN"isthedomainnameand '*"JoeSmith"istheaccountbeinggiventhepermission.Notethat '*thisisthedownlevelnamingconventionusedinthisexample. 'sUserOrGroup="MYDOMAIN\joesmith" ''*BindtotheDiscretionaryACLonthenewlycreatedcomputeraccount '*andcreateanAccessControlEntry(ACE)thatgivesthespecified '*userorgroupfullcontrolonthemachineaccount 'SetsecDescriptor=oComputer.Get("ntSecurityDescriptor") SetdACL=secDescriptor.DiscretionaryAcl SetACE=CreateObject("AccessControlEntry") ' '*AnAccessMaskof"-1"grantsFullControl ' ACE.AccessMask=-1 ACE.AceType=ADS_ACETYPE_ACCESS_ALLOWED ACE.AceFlags=ADS_ACEFLAG_INHERIT_ACE ''*Grantthiscontroltotheuserorgroupspecifiedearlier. 'ACE.Trustee=sUserOrGroup ' '*Now,addthisACEtotheDACLonthemachineaccount 'dACL.AddAceACE secDescriptor.DiscretionaryAcl=dACL ' '*Commit(write)thesecuritychangestothemachineaccount 'oComputer.Put"ntSecurityDescriptor",Array(secDescriptor) oComputer.SetInfo ''*Onceallparametersandpermissionshavebeenset,enablethe '*account. ' oComputer.AccountDisabled=False oComputer.SetInfo ''*CreateanAccessControlEntry(ACE)thatgivesthespecifieduser '*orgroupfullcontrolonthemachineaccount 'wscript.echo"Thecommandcompletedsuccessfully." '***************** '*EndScript

解禁注册表 ------ 1.使用软件禁用注册表 比如:(此间文字由系统自动屏蔽) 2.通过.reg文件(适用98系统,XP/2003下,禁用注册表后是无法导入reg文件的) 把下面的内容复制到记事本,另存为扩展名为reg的文件,双击后,注册表解禁 REGEDIT4 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System] "DisableRegistryTools"=dword:00000000 3.通过.vbs文件 把下面的内容复制到记事本,另存为扩展名为vbs的文件,双击后,注册表解禁 DimWSHShell SetWSHShell=WScript.CreateObject("WScript.Shell") WSHShell.RegDelete"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" 4.通过.inf文件 把下面的内容复制到记事本,另存为扩展名为inf的文件,右键选择安装,注册表解禁 [Version] Signature="$Chicago$" [DefaultInstall] DelReg=DeleteMe [DeleteMe] HKCU,"Software\Microsoft\Windows\CurrentVersion\Policies\System","DisableRegistryTools" 5.通过.js文件 把下面的内容复制到记事本,另存为扩展名为js的文件,双击后,注册表解禁 varWSHShell=WScript.CreateObject("WScript.Shell"); WSHShell.RegWrite ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\\DiableRegistryTools",0,"REG_DWORD"); WSHShell.RegDelete ("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\"); 6.命令行下解禁注册表 命令:regdeleteHKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System/vDisableRegistryTools 7.在Windows2000/XP/2003中,运行Gpedit.msc,打开“组策略”命令包括命令ID和命令参数,它们用符号“@”隔开
四篇(共六篇): 大家好,昨天我休息了一天,所以今天写第4章:循环结构 我们先来看一道题:商场进行每日结算,要求累加出今天的营业额,每次输入一个数,这道题其实很简单,但就我们现在学 过的知识要完成这道题相当麻烦,我们来分析一下.首先,我们需要知道买卖的次数,这样才能控制输入的次数,但是,这种设 计是非常低效的,每天都要重新设计程序.假定今天进行了5次交易,以下是源程序: dimsum sum=0'初始化变量 sum=sum+int(inputbox("请输入交易额")) 'sum=sum+x 这种形式是把本身的值取出来,进行一次运算,再放回本身,这种方法很有用处 '这里使用了函数嵌套,把inputbox的返回值直接传给int函数,转化成整数,下同 sum=sum+int(inputbox("请输入交易额")) sum=sum+int(inputbox("请输入交易额")) sum=sum+int(inputbox("请输入交易额")) sum=sum+int(inputbox("请输入交易额")) msgbox(sum) 看到了吗,我通过把计算过程复制了5遍才设计好了程序,这种程序在汽车交易所等交易次数少的地方还能凑合着用,如果 放到超市岂不是要复制,粘贴几千遍?我们今天讲的内容就可以克服这种缺陷,首先,我们来讲以下Do...Loop语句. do...loop的结构看上去非常简单,就是:do...loop,仅此而已,这个结构不断执行do和loop之间的语句(学名叫:循环体), 永不停止.举个例子来说: do msgbox("这个信息会不断重复出现,要停止程序请使用任务管理器(Ctrl+Alt+Del)中止wscript进程") loop 运行这个程序,当你点销掉一个对话框马上会出来另一个,你永远点不完,总有下一个.谁会运行这样的程序?除非是给 别人捣乱(我就干过这种事),所以在do..loop结构中还有一个语句:exitdo,这个语句将终止循环,跳到loop后面的语句继续 执行.据个例子来说: dima'注意:常量不需要在dim里面声明,否则会引发错误 constpass="123456"'这是一个字符串请用""包裹起来.设定密码为常量,不可变更 do a=inputbox("请输入密码") ifa=passthen msgbox("密码校验成功") exitdo endif loop 这个程序会一直不停的问你密码,知道你输入了正确的密码为止.(if可以嵌套在另一个if当中,也可以嵌套在循环体当中 ,所以一定要用缩进,来分清楚程序的各个部分).这个程序是很经典的,早期的程序都是这么做的.但是我们是Hacker,所以 我们了解系统的安全性,这种无限次认证程序很容易被穷举破解,我们要来限定认证的次数.修改程序如下 dima,ctr ctr=0'设置计数器 constpass="pas123_"'上面的那个是弱密码,这次改的强一点 do ifctr=3then msgbox("已经达到认证上限,认证程序关闭") exitdo else a=inputbox("请输入密码") ifa=passthen msgbox("认证成功") msgbox("(你可以在这里加一段成功后得到的信息)") exitdo else ctr=ctr+1'如果密码出错就增加一次错误认证计数 msgbox("认证出错,请检查密码") endif endif loop 运行这个程序试试看,当你出了3此错误以后,就会停止再次询问密码,关闭程序.telnet认证用来限制次数的程序与此大 同小异.要注意的是嵌套的if语句,清仔细读一下这个程序,可能比较难懂,也请你试着自己设计一下类似的程序. 其实,要在do...loop加上验证的功能,并不一定要用if,我们可以直接利用do.我来介绍一下while关键字,while可以放 在do或者是loop后面,然后再接一个表达式,当表达式的值为true的时候(表达式成立),才运行循环体.我们来看一下修改后的 程序" dima,ctr ctr=0 constpass="pas123_" dowhilectr<3 a=inputbox("请输入密码") ifa=passthen msgbox("认证成功") msgbox("(你可以在这里加一段成功后得到的信息)") exitdo else ctr=ctr+1'如果密码出错就增加一次错误认证计数 msgbox("认证出错,请检查密码") endif loop 这样实现的功能和上一个例子完全一样,我们再来看看把while放在loop后面: dima,ctr ctr=0 constpass="pas123_" do a=inputbox("请输入密码") ifa=passthen msgbox("认证成功") msgbox("(你可以在这里加一段成功后得到的信息)") exitdo else ctr=ctr+1'如果密码出错就增加一次错误认证计数 msgbox("认证出错,请检查密码") endif loopwhilectr<3 功能是一样的,为什么要放在loop后面呢?你把ctr的值改成3就知道了,while在do后面的程序会直接退出,而在loop后面 还会允许一次认证,到了loop才结束.和while相反的是until,用法和while一样,不过他只有当后面的表达式的值为false(表 达式不成立)的时候才执行循环体,请自己试验一下 ok,我们来看另外一种循环结构,for....next,这种循环结构是基于计数的,也是在编程中最常见到的循环结构. dimi fori=0to5 msgbox(i) next 看到了吗?每次输出的i都是递增的,但我们没有明确指出i要递增,当i达到5的时候,循环就结束了,因为由0开始,所以 循环体执行了6次,这一点很重要,大部分东西都是从0开始而不是1.这个程序也可以写成 do的形式: dimi i=0 dowhilei<5 msgbox(i) i=i+1'因为do不能自动计数,必须手动加 loop 怎么样,还是for比较好用吧.for在编程中很有用途,我们再举一个例子,顺便讲一下嵌套循环. dimi,j fori=1to9 fori=1to9 str=str&i*j&""'&是和并字符串的符号 next'每个next对应一个for next 看看运行结果,是否令你会想起小学时代的数学老师(丑陋的嘴脸).要注意,这里有一个"大"的for,和一个小的for,当 小的for执行完一个周期以后,大的for才执行一次(换句话说,大的for执行一次,小的要执行9次),所以一共执行了九九八十 一次.在大的for里可以不仅仅是一个小的for,也可以加上另外的语句.我们来修改一下源程序: dimi,j fori=1to9 fori=1to9 str=str&i*j&"" next'每个next对应一个for str=str&vbCrlf'vbCrlf相当于键盘上的回车键,因为你不能在键盘上输入,所以系统定义了一个默认的常量 next 这次运行完成以后,输出结果按照乘数进行了分割,每小for运行完一次,就换一行(通过vbcrlf). 这次的内容对菜鸟可能比较难懂,掌握的办法只有一个:多实践.另外,我在论坛看到很多人还是问:"VBScript要用什么工 具编?"我就很气愤,我在第一篇里面已经说明:用记事本编辑源代码,然后保存为以.vbs为扩展名的程序就可以了,请大家不要 再问.另外,国产的一种垃圾软件"超级X霸"抢占了vbs这个扩展名,请把那个垃圾卸载掉. 我们总结一下: 要点: 1)do..loop和exitdo的用法 2)while当表达式true的时候执行循环体,until反之 3)for...next是计数循环,每次执行计数器递加 4)嵌套循环的作用和写法 4.5)&用于连接字符串 5)vbCrLf相当于键盘上的回车键 作业: 1)在我国的数学经典著作"九章算术"中有这样一道题:百钱买百鸡,公鸡5钱一只,母鸡3钱一只,小鸡1钱2只(这个数据我是参 考一本编程书的,但我记得是公3,母1,小1钱3只?不管了,就按照书上得来吧)求得是能有多少种办法买这些鸡.如果看不懂的 话我用大白话说说:有人要去买鸡,用100块钱正好买了100只鸡,价格如下:公:5$,母:3$,小:1$for2,让你求一共多少种卖 法(公母小怎么搭配).请用循环解决这个问题. ps:今天要去移民局办事,所以文章写的很仓促.大部分代码都没有实验,请大家帮我找错.另外,上次的作业大家在论坛应该 看到了,我就不重复答案了,不知道大家喜欢做这种题,还是以前那种比较简单的? Command函数在VB的联机帮助中以及在相应的语言教程里都谈论得极其玄乎,让人难以理解,无从参考
strPath="\\192.168.1.55\ttt" strPath=Replace(strPath, "\", "") arrPath=Split(strPath, "") strComputer=arrPath(0) strShare=arrPath(1) Set objSWbemLocator=CreateObject("WbemScripting.SWbemLocator") Set objWMIService=objSWbemLocator.ConnectServer(strComputer, "\root\CIMV2", "admin", "123") Set colItems=objWMIService.ExecQuery _ ("Select * From Win32_Share Where Name='" & strShare & "'") For Each objItem in colItems Wscript.Echo objItem.Path Next strPath="\\atl-fs-01\public" strPath=Replace(strPath, "\", "") arrPath=Split(strPath, "") strComputer=arrPath(0) strShare=arrPath(1) Set objWMIService=GetObject("winmgmts:\" & strComputer & "\root\cimv2") Set colItems=objWMIService.ExecQuery _ ("Select * From Win32_Share Where Name='" & strShare & "'") For Each objItem in colItems Wscript.Echo objItem.Path Next 忍3抢悬赏最使用BitBlt函数前要先宣告:DeclareSubBitBltLib"gdi32"(ByValhDestDCAsLong,ByValXAsLong,ByValYAsLong,ByValnWidthAsLong,ByValnHeightAsLong,ByValhSrcDCAsLong,ByValxSrcAsLong,ByValySrcAsLong,ByValdwRopAsLong)hDestDC目的地的DCx目的地的座标xy目的地的座标ynWidth来源图片的宽度nHight来源图片的高度hSrcDC来源图片的DCxsrc来源图片的座标xysrc来源图片的座标ydwrop运算方法:&HCC0020PUT&H8800C6AND&HEE0086OR&H660046XOR现在有两个PictureBoxPicture1AutoRedRaw属性设为TureScaleMode属性设为"3-像素"Picture2AutoRedRaw属性设为TureScaleMode属性设为"3-像素"若想将Picture2里(10,10)-(100,100)区域内的图形拷贝到Picture1的(0,0)可以这样写:BitBltPicture1.hdc,0,0,90,90,Picture2.hdc,10,10,&HCC0020这样子平常写游戏时就只要设两个PictureBox,一个专门用来显示,另一个则用来放图形资料,需要时再用BitBlt函数覆制过去就好了,不是很方便吗?->
然后再将我们要更改的实际的注册表值(TaskBarSizeMove)赋值给一个名为ValueName的变量。