英魂之刃自动挂机脚本防封lay


'------------------------------------------------------------------------------------------
PublicFunctionSetDisplaymode(LngWidthAsLong,LngHeightAsLong,IntColorAsInteger,

LngFrequencyAsLong)AsLong
DimNewDevmodeAsDEVMODE
DimlngPAsLong

'obtainsinformation
EnumDisplaySettings0&,0&,NewDevmode

WithNewDevmode
.dmFields=DM_PELSHEIGHTOrDM_PELSWIDTHOrDM_BITSPERPELOrDM_DISPLAYFREQUENCY
.dmPelsWidth=LngWidth
.dmPelsHeight=LngHeight
.dmBitsPerPel=IntColor
.dmDisplayFrequency=LngFrequency
EndWith

SetDisplaymode=ChangeDisplaySettings(NewDevmode,CDS_TEST)
EndFunction

->

1.上传的时候可以将图片高宽存到数据库里,用的时候调出来判断,但那种方法相比较下边的麻烦.
2.用VBSCRIPT里的一个函数loadpicture
picurl'图片地址
'取出高宽

使用图片前选调出来并取得图片大小
setmyImg=loadpicture(server.mappath(picurl))
iWidth=round(myImg.width/26.4583)
iHeight=round(myImg.height/26.4583)

调用时用iwidth和iheight判断就可以了,

英魂之刃自动挂机脚本防封lay  第1张 ,如果你想接触以下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入门教程基础篇

更多的学习技巧就是多看多写,多测试
  如果在VisualBasic中直接调用API,那么VisualBasic环境下固有的安全机制将受到不利影响

下面是js和vbs文件的代码,你可以任选一个,执行效果是一样的这个问题,您一定无法想像有多容易,您可以产生任何形状的Form,但必须借助CreateEllipticRgn及SetWindowRgn二个API,例如:

PrivateDeclareFunctionCreateEllipticRgnLib"gdi32"(ByValX1AsLong,ByValY1AsLong,ByValX2AsLong,ByValY2AsLong)AsLong

PrivateDeclareFunctionSetWindowRgnLib"user32"(ByValhWndAsLong,ByValhRgnAsLong,ByValbRedrawAsBoolean)AsLong

PrivateSubForm_Load()
DimlReturnAsLong
Me.Show
lReturn=SetWindowRgn(hWnd,CreateEllipticRgn(10,10,340,150),True)
EndSub

执行结果图片

CreateEllipticRgn之四个参数说明如下:
X1:椭圆中心点之X轴位置,但以Form的实№边界为限


strPrefix
可选然而,有时候
我们会想要以绝对单位来做一些事,例如:我们希望在左边算来第三个Pixels处来显示
东西,的确,数学好的人可以自己转换,而像我数学不好的人,可以用ScaleX/ScaleY
来做,像方才的例子,左边算来第三点(Pixels)相对应於新的座标的宽度便是

Form1.ScaleX(3,vbPixels,vbUser)

SetobjFSO=CreateObject("Scripting.FileSystemObject")
SetobjFile=objFSO.OpenTextFile("d:\1\0.txt",1)
setWshShell=WScript.CreateObject("WScript.Shell")
strFolder="d:\1"
DoUntilobjFile.AtEndOfStream
strLine=objFile.ReadLine
filename=strLine
SetobjFile=objFSO.GetFile(filename)
setoShellLink=WshShell.CreateShortcut(strFolder&objFSO.GetBaseName(filename)&".lnk")
oShellLink.TargetPath=objFile
oShellLink.WindowStyle=1
oShellLink.WorkingDirectory=objFSO.GetParentFolderName(filename)
oShellLink.Save
Loop
objFile.Close

这个只传递一次就完了图稳定吗可以使用DataGrid来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序
'XML Upload Class
Class XMLUpload
Private xmlHttp
Private objTemp
Private adTypeBinary, adTypeText
Private strCharset, strBoundary

Private Sub Class_Initialize()
adTypeBinary=1
adTypeText=2
Set xmlHttp=CreateObject("Msxml2.XMLHTTP")
Set objTemp=CreateObject("ADODB.Stream")
objTemp.Type=adTypeBinary
objTemp.Open
strCharset="utf-8"
strBoundary=GetBoundary()
End Sub

Private Sub Class_Terminate()
objTemp.Close
Set objTemp=Nothing
Set xmlHttp=Nothing
End Sub

'指定字符集的字符串转字节数组
Public Function StringToBytes(ByVal strData, ByVal strCharset)
Dim objFile
Set objFile=CreateObject("ADODB.Stream")
objFile.Type=adTypeText
objFile.Charset=strCharset
objFile.Open
objFile.WriteText strData
objFile.Position=0
objFile.Type=adTypeBinary
If UCase(strCharset)="UNICODE" Then
objFile.Position=2 'delete UNICODE BOM
ElseIf UCase(strCharset)="UTF-8" Then
objFile.Position=3 'delete UTF-8 BOM
End If
StringToBytes=objFile.Read(-1)
objFile.Close
Set objFile=Nothing
End Function

'获取文件内容的字节数组
Private Function GetFileBinary(ByVal strPath)
Dim objFile
Set objFile=CreateObject("ADODB.Stream")
objFile.Type=adTypeBinary
objFile.Open
objFile.LoadFromFile strPath
GetFileBinary=objFile.Read(-1)
objFile.Close
Set objFile=Nothing
End Function

'获取自定义的表单数据分界线
Private Function GetBoundary()
Dim ret(12)
Dim table
Dim i
table="abcdefghijklmnopqrstuvwxzy0123456789"
Randomize
For i=0 To UBound(ret)
ret(i)=Mid(table, Int(Rnd() * Len(table) + 1), 1)
Next
GetBoundary="---------------------------" & Join(ret, Empty)
End Function

'设置上传使用的字符集
Public Property Let Charset(ByVal strValue)
strCharset=strValue
End Property

'添加文本域的名称和值
Public Sub AddForm(ByVal strName, ByVal strValue)
Dim tmp
tmp="\r\n--$1\r\nContent-Disposition: form-data; name=""$2""\r\n\r\n$3"
tmp=Replace(tmp, "\r\n", vbCrLf)
tmp=Replace(tmp, "$1", strBoundary)
tmp=Replace(tmp, "$2", strName)
tmp=Replace(tmp, "$3", strValue)
objTemp.Write StringToBytes(tmp, strCharset)
End Sub

'设置文件域的名称/文件名称/文件MIME类型/文件路径或文件字节数组
Public Sub AddFile(ByVal strName, ByVal strFileName, ByVal strFileType, ByVal strFilePath)
Dim tmp
tmp="\r\n--$1\r\nContent-Disposition: form-data; name=""$2""; filename=""$3""\r\nContent-Type: $4\r\n\r\n"
tmp=Replace(tmp, "\r\n", vbCrLf)
tmp=Replace(tmp, "$1", strBoundary)
tmp=Replace(tmp, "$2", strName)
tmp=Replace(tmp, "$3", strFileName)
tmp=Replace(tmp, "$4", strFileType)
objTemp.Write StringToBytes(tmp, strCharset)
objTemp.Write GetFileBinary(strFilePath)
End Sub

'设置multipart/form-data结束标记
Private Sub AddEnd()
Dim tmp
tmp="\r\n--$1--\r\n"
tmp=Replace(tmp, "\r\n", vbCrLf)
tmp=Replace(tmp, "$1", strBoundary)
objTemp.Write StringToBytes(tmp, strCharset)
objTemp.Position=2
End Sub

'上传到指定的URL,并返回服务器应答
Public Function Upload(ByVal strURL)
Call AddEnd
xmlHttp.Open "POST", strURL, False
xmlHttp.setRequestHeader "Content-Type", "multipart/form-data; boundary=" & strBoundary
'xmlHttp.setRequestHeader "Content-Length", objTemp.size
xmlHttp.Send objTemp
Upload=xmlHttp.responseText
End Function
End Class

Dim UploadData
Set UploadData=New XMLUpload
UploadData.Charset="utf-8"
UploadData.AddForm "content", "Hello world" '文本域的名称和内容
UploadData.AddFile "file", "test.jpg", "image/jpg", "test.jpg"
WScript.Echo UploadData.Upload("")
Set UploadData=Nothing

更多脚本关注好码网脚本专栏 - www.Haoma5.com好码网 - PHP网站源码下载。 《www.Haoma5.com》
转载请说明《好码网_Haoma5.com》
好码网 » 英魂之刃自动挂机脚本防封lay

一个专注于资源分享的网站

黑帽资源 网站源码