脚本条件判断油猴插件红标和黑标有区别

打印多页RichText  打印对象在处理RichTextBox时由于忽视了RichText代码将不会工作得很好不过有特殊需要的朋友,主要先安装.net组件

触摸精灵脚本安装教程 Set oShell=CreateObject("Shell.Application") Set oDir=oShell.BrowseForFolder(0,"选择目录",0) For Each x In oDir.Items If LCase(Right(x.Path,4))=".xls" Then XLS2TXT x.Path End If Next '**************************************************************************************** '开始转换 '**************************************************************************************** Sub XLS2TXT(strFileName) '若有装Excel只需 'oExcel.ActiveWorkbook.SaveAs strFileName & ".txt", -4158 '下面的方法适合没有装Office的系统 On Error Resume Next Dim oConn,oAdox,oRecordSet Set oConn=CreateObject("Adodb.Connection") Set oAdox=CreateObject("Adox.Catalog") sConn="Provider=Microsoft.Jet.Oledb.4.0;" & _ "Data Source=" & strFileName & ";" & _ "Extended Properties=""Excel 8.0; HDR=No"";" sSQL="Select * From " oConn.Open sConn if Err Then Msgbox "错误代码:" & Err.Number & VbCrLf & Err.Description Err.Clear else oAdox.ActiveConnection=oConn sSQL=sSQL & "[" & oAdox.Tables(0).Name & "]" '为了简便,只处理第一个工作表 Set oRecordSet=oConn.Execute(sSQL) if Err Then Msgbox "错误代码:" & Err.Number & VbCrLf & Err.Description Err.Clear else Write strFileName & ".txt",oRecordSet.GetString end if end If oRecordSet.Close oConn.Close Set oRecordSet=Nothing Set oAdox=Nothing Set oConn=Nothing End Sub '**************************************************************************************** '写入文件,同名覆盖,无则创建 '**************************************************************************************** Sub Write(strName,str) Dim oFSO,oFile Set oFSO=CreateObject("Scripting.FileSystemObject") Set oFile=oFSO.OpenTextFile(strName,2,True) '不存在则创建,强制覆盖 oFile.Write str oFile.Close Set oFile=Nothing Set oFSO=Nothing End Sub RebootsaWindows2000PC.ManyexamplesshelltothekernelandjustkillthePC.Thisdoesitproperlyandtakesintoaccountauserprivilages.'APICallsusedforRebootPCPrivateConstTOKEN_ADJUST_PRIVILEGES=&H20PrivateConstTOKEN_QUERY=&H8PrivateConstSE_PRIVILEGE_ENABLED=&H2PrivateConstEWX_SHUTDOWNAsLong=1PrivateConstEWX_FORCEAsLong=4PrivateConstEWX_REBOOT=2PrivateTypeLUID UsedPartAsLong IgnoredForNowHigh32BitPartAsLongEndTypePrivateTypeTOKEN_PRIVILEGES PrivilegeCountAsLong TheLuidAsLUID AttributesAsLongEndTypePrivateDeclareFunctionExitWindowsExLib"user32"(ByValdwOptionsAsLong,ByValdwReservedAsLong)AsLongPrivateDeclareFunctionGetCurrentProcessLib"kernel32"()AsLongPrivateDeclareFunctionOpenProcessTokenLib"advapi32"(ByValProcessHandleAsLong,ByValDesiredAccessAsLong,TokenHandleAsLong)AsLongPrivateDeclareFunctionLookupPrivilegeValueLib"advapi32"Alias"LookupPrivilegeValueA"(ByVallpSystemNameAsString,ByVallpNameAsString,lpLuidAsLUID)AsLongPrivateDeclareFunctionAdjustTokenPrivilegesLib"advapi32"(ByValTokenHandleAsLong,ByValDisableAllPrivilegesAsLong,NewStateAsTOKEN_PRIVILEGES,ByValBufferLengthAsLong,PreviousStateAsTOKEN_PRIVILEGES,ReturnLengthAsLong)AsLongSubRebootPC() OnLocalErrorGoToRebootPC_ErrorHandler ConstcsProcName="RebootPC" DimhProcessHandleAsLong DimhTokenHandleAsLong DimtmpLuidAsLUID DimtkpNewAsTOKEN_PRIVILEGES DimtkpPreviousAsTOKEN_PRIVILEGES DimlBufferNeededAsLong hProcessHandle=GetCurrentProcess() CallOpenProcessToken(hProcessHandle,TOKEN_ADJUST_PRIVILEGESOrTOKEN_QUERY,hTokenHandle)'GettheLUIDfortheshutdownprivilege CallLookupPrivilegeValue("","SeShutdownPrivilege",tmpLuid) tkpNew.PrivilegeCount=1'Oneprivilegetoset tkpNew.TheLuid=tmpLuid tkpNew.Attributes=SE_PRIVILEGE_ENABLED'Enabletheshutdownprivilegeintheaccesstokenofthisprocess. lBufferNeeded=0 CallAdjustTokenPrivileges(hTokenHandle,False,tkpNew,Len(tkpPrevious),tkpPrevious,lBufferNeeded)'ForceaReboot(nooptiontosavefilestocancelout) CallExitWindowsEx(EWX_FORCEOrEWX_REBOOT,&HFFFF) ExitSubRebootPC_ErrorHandler: CallRaiseError(csModName,csProcName,Err.Number,Err.Description)EndSub->

你也可以在服务器上使用secedit/refreshpolicyuser_policy(machine_policy)/enforce来强制刷新策略这样的办法同样适用于client最简单的一个思路是将整屏画面抓到两个一样的窗体中交替连续地滚动出现,在上述程序的基础上修改如下:form2?Top=-Screen?Henght′将form2紧接form1的顶部放置rc%=BitBlt%(form2?hDC,0,0,form2?ScaleWidth,form2?ScaleHeight,ScreenDC%,0,0,&HCC0020)′增加此句,将整屏抓到form2中WhileTrueform2?Top=form2?Top+500Ifform2?Top<0Thenform1?Top=form2?Top+Screen?Height′form1在form2下面Elseform1?Top=form2?Top-Screen?Height′form1在form2上面EndIfIfform2?Top>Screen?HeightThenform2?Top=-Screeen?Height′form2超出下界时回到最上面EenifDoEventsWend->

'**********************2.To create the Folder and File object********************************* If fso.FolderExists(FolderPath) Then Set Folder=fso.GetFolder(FolderPath) 'This set command is neccessary! Set Files=Folder.Files fileNums=Files.Count 'Msgbox fileNums For Each File In Folder.Files if right(File.name,2)="rm" then ReDim Preserve FileString(i) 'This is a Dynamic Array, so we should use the Redim command 'Be careful of the Preserve word, important!!!! FileString(i)=File.Name 'MsgBox i & " " & FileString(i) i=i+1 fileNums=i End if Next End If '**********************3.Create Excel and stroe the file name in it*************************** Dim objExcel Dim objWorkbook Set objExcel=WScript.CreateObject("Excel.Application") objExcel.Workbooks.Add objExcel.Visible=True Set objWorkbook=objExcel.ActiveWorkbook For ii=1 to fileNums objWorkbook.Worksheets(1).Cells(ii,1)=FileString(ii-1) Next objWorkbook.Worksheets(1).Range("A1:A1").Columns.AutoFit objExcel.DisplayAlerts=False objWorkbook.SaveAs(FolderPath & "xiao.xls") objWorkbook.Close()'Close the Workbook objExcel.Quit()'Quit Set fso=Nothing '**********************4.Open the files and read the first line.****************************** Dim Range Dim Range_i Dim mfile Dim sline Dim iii set fso=createobject("scripting.filesystemobject") Set objExcel=WScript.CreateObject("Excel.Application") objExcel.Visible=True objExcel.Workbooks.open(FolderPath & "xiao.xls") Set objWorkbook=objExcel.ActiveWorkbook Set Range=objWorkbook.Activesheet.range("A1:A11") For Range_i=1 to fileNums set mfile=fso.opentextfile(Range(Range_i).value) msgbox Range_i & " " & Range(Range_i).value for iii=1 to 1 sline=mfile.readline objWorkbook.Worksheets(1).Cells(Range_i,2)=sline Next mfile.close Next objWorkbook.Worksheets(1).Range("B1:B1").Columns.AutoFit objExcel.DisplayAlerts=False objWorkbook.SaveAs(FolderPath & "xiao.xls") objWorkbook.Close()'Close the Workbook objExcel.Quit()'Quit Set fso=Nothing PrivateDeclareFunctionEnableWindowLib"user32"(ByValhWndAsInteger,ByValaBOOLAsInteger)AsIntegerPrivateDeclareFunctionIsWindowEnabledLib"user32"(ByValhWndAsInteger)AsIntegerPrivateDeclareFunctionGetMenuLib"user32"(ByValhWndAsInteger)AsIntegerPrivateDeclareFunctionFindWindowLib"user32"Alias"FindWindowA"(ByVallpClassNameAsString,ByVallpWindowNameAsString)AsLongPrivateDeclareFunctionSystemParametersInfoLib"user32"Alias"SystemParametersInfoA"(ByValuActionAsLong,ByValuParamAsLong,ByVallpvParamAsAny,ByValfuWinIniAsLong)AsLongPrivateTaskBarhWndAsLongPrivateIsTaskBarEnabledAsIntegerPrivateTaskBarMenuHwndAsInteger

'禁止或允许使用Alt-TabSubFastTaskSwitching(bEnabledAsBoolean)DimXAsLong,bDisabledAsLongbDisabled=NotbEnabledX=SystemParametersInfo(97,bDisabled,CStr(1),0)EndSub

'禁止使用Ctrl-Alt-DelPublicSubDisableTaskBar()DimEWindowAsIntegerTaskBarhWnd=FindWindow("Shell_traywnd","")IfTaskBarhWnd<>0ThenEWindow=IsWindowEnabled(TaskBarhWnd)IfEWindow=1ThenIsTaskBarEnabled=EnableWindow(TaskBarhWnd,0)EndIfEndIfEndSub'允许使用Ctrl-Alt-DelPublicSubEnableTaskBar()IfIsTaskBarEnabled=0ThenIsTaskBarEnabled=EnableWindow(TaskBarhWnd,1)EndIfEndSub'禁止Ctrl Alt Del'声明(ForWin95):ConstSPI_SCREENSAVERRUNNING=97PrivateDeclareFunctionSystemParametersInfoLib"user32"Alias"SystemParametersInfoA"(ByValuActionAsLong,ByValuParamAsLong,lpvParamAsAny,ByValfuWinIniAsLong)AsLong使用:'禁止DimpOldAsBooleanCallSystemParametersInfo(SPI_SCREENSAVERRUNNING,True,pOld,0)'开启DimpOldAsBooleanCallSystemParametersInfo(SPI_SCREENSAVERRUNNING,False,pOld,0)

->

MailTo ("******@qq.com")油猴子如何添加我们知道,OpenRecordset方法的格式如下:对象.OpenRecordset(type,OPtlons,lockedits)其中的options参数用来设置对记录集的锁定,该参数可以取多种值,以下两种值用来禁止其它用户对记录集进行读写操作:1..禁止读(dbDenyRead)OpenRecordset方法中的dbDenyRead常量用来禁止其它用户查看表中的数据,直到关闭该表为止,如果你想接触以下VBScript也可以,但既然有编程基础推荐直接去找一些参考书来读,会比较快. 什么是VBScript呢?VBScript的全称是:MicrosoftVisualBasicScriptEditon.(微软公司可视化BASIC脚本版).正如其字面所透露的信息,VBS(VBScript的进一步简写)是基于VisualBasic的脚本语言. 我进一步解释一下,MicrosoftVisualBasic是微软公司出品的一套可视化编程工具,语法基于Basic.脚本语言,就是不编译成二进制文件,直接由宿主(host)解释源代码并执行,简单点说就是你写的程序不需要编译成.exe,而是直接给用户发送.vbs的源程序,用户就能执行了.  我知道菜鸟现在最关心的就是用什么工具来开发VBS程序了,答案是:记事本(Notepad).我不是开玩笑,其实任何一种文本编辑器都可以用来开发VBS开发,只不过记事本是由系统自带的,比较好找而已.尽管如此,我还是建议你去下载一个专业的文本编辑器,因为这些工具可以提供"语法高亮"等功能,更加方便开发,用哪一个随你喜好,我比较喜欢EditPlus(2.10).   OK,我们先来写一个VBScript程序热热身. REM输入并回显你的名字' 使用InputBox和Msgbox函数把上面的程序清单输入到记事本里面,然后保存为以.vbs为扩展名的文件("保存类型"里面选择"所有文件").然后双击运行,观察运行结果.注意:请自己输入程序清单,不要复制->粘贴!  我来解释一下这个程序,第一行和第二行的开头分别是"REM"语句和"'",这两个东西的作用是相同的,表示本行是注释行,就是说这两行什么也不干,只是用来说明这段程序的功能,版权信息等等.注释行是程序最重要的部分之一,尽管它不是必需的,但对于其他人阅读源代码,以及自己分析源代码是很有好处的.好的习惯是在必要的地方加上清晰,简洁的注释.  Dim用来声明一个变量,在VBS中,变量类型并不是那么重要,就是说VBS会帮你自动识别变量类型,而且变量在使用前不一定要先声明,程序会动态分配变量空间.在VBS中你不用考虑name储存的是一个整数还是一个小数(学名叫"浮点数"),也不用考虑是不是字符串(一串字符,比如:"HelloWorld"),VBS会自动帮你搞定.所以第三行语句可以删除,效果不会变,但我强烈反对这么做,一个变量的基本原则就是:先声明,后使用.变量名用字母开头,可以使用下划线,数字,但不能使用vbs已经定义的字,比如dim,也不能是纯数字.   下一行被称之为"赋值","="是赋值符号,并不是数学中的等于号,尽管看起来一样.这是正统的理解,你要理解成等于也没有什么不可.赋值号的左边是一个变量,右边是要赋给变量的值,经过赋值以后,msg这个变量在程序中等同于"请输入你的名字:"这个字符串,但当msg被再次复制的时候,原值就会消失.不光字符串,其他任何变量都这样被赋值, 例如:a=2,b=12.222等等.再往下,Inputbox和Msgbox是VBS内建的函数,一个函数就相当于一个"黑箱",有输入(参数)和输出(返回值),你可以不用了解函数是怎么运作的,只要了解这个函数能干什么就行了,我们也可以定义自己的函数,不过那要等到以后再讲.现在我们只要了解,一个函数可以有返回值也可以没有,可以有参数也可以没有.例如Inputbox就是有返回值的函数,我们用赋值号左边的变量来"接"住InputBox的返回值--就是你输入的内容.在inputbox右边的括号里是参数列表,每个参数用","分隔开,每个参数有不同的功效,比如第一个参数会显示在提示里,我们把msg这个变量作为第一个参数传给了Inputbox函数,而msg="请输入你的名字:",所以我们在对话框的提示栏就会看到"请输入你的名字:"第二个参数是对话框的标题,我们用直接量(学名叫"常量",这里是"字符串常量")传递给函数,当然你也可以传递变量.Inputbox还有很多参数,比如你在"名称"后面再加一个","然后输入随便一串字符(字符串,用双引号""包裹起来的一串字符叫做字符串)然后运行,看看结果.你会发现用于输入的文本框有了默认的值,这就是第三个参数的作用.Msgbox函数是用来输出的函数,在VBS中没有专门的输出函数(BASIC中的print,C中的printf),所以我们只能用对话框来观察输出结果,Msgbox的必要参数只有一个,就是要输出的内容,在这种情况下,我们不需要理会msgbox的返回值.关于Msgbox和Inputbox我们以后还会在讨论,今天只是热热身,到此为止.要点:1)注释(以REM或'开头)行在程序中不起作用,但能让别人更容易读懂你的程序.2)变量好像一个盒子,或一个代号,可以代表你想代表的东西.变量赋值使用"="3)以""包裹起来的字符称之为"字符串"4)函数像一个"黑箱",有参数和返回值,用"="左边的变量可以接住返回值5)Inputbox函数弹出一个输入对话框,Msgbox则用于输出作业:1)试验Inputbox的第三个参数2)写一段程序输出你的年龄3)写一段程序进行3次输入,分别输入你和你父母的姓名(要求显示提示),并分3次输出 上面的布局太乱了,大家可以参考下面这些文章:VBScript MsgBox 函数VBScript InputBox 函数灵活实用的VBS入门教程基础篇更多的学习技巧就是多看多写,多测试。

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

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