
正文
vb.net验证码生成 vba 验证码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
vb.net 怎么将网页验证码显示在窗体上
Dim CtrlRange As Object
On Error Resume Next
Do
Err.Clear()
CtrlRange = Ie.Document.Body.DomElement.createControlRange()
CtrlRange.Add(Ie.Document.DomDocument.GetElementById("verifypic"))
CtrlRange.execCommand("Copy") '获取验证码
If Clipboard.ContainsData(DataFormats.Bitmap) Then
PictureBox1.Image = Clipboard.GetData(DataFormats.Bitmap) '在Picture1控件上显示
End If
If Err.Number 0 Then WaitingMS(100) ‘延时
Loop While Err.Number 0
以前找的 vbnet里也可以用
相关问答
Q1: asp.net vb怎样制作图片验证码
实现过程vb.net验证码生成,在需要调用vb.net验证码生成的页面使用image控件调用验证码生成的页面vb.net验证码生成,验证码生成的页面生成验证图片且将验证信息保存至Session中vb.net验证码生成,调用页面中通过Session判断用户是否输入正确。道理是这样,以下看代码:
生成验证码页面:
gif.ASPx
%@importnamespace="System"%
%@importnamespace="System.io"%
%@importnamespace="System.Drawing"%
%@importnamespace="System.Drawing.Imaging"%
scriptlanguage="VB"runat="server"
SubPage_Load(ByValSenderAsObject,ByValeAsEventArgs)
'RndNum为生成随机码的函数,
DimVNumAsString=RndNum(4)'该值为生成验证码的位数
Session("VNum")=VNum'读取Session
ValidateCode(VNum) '根据Session生成图片
EndSub
'--------------------------------------------
'生成图象验证码函数
SubValidateCode(ByValVNum)
DimImgAsSystem.Drawing.Bitmap
DimgAsGraphics
DimmsAsMemoryStream
DimgheightAsInteger=Int(Len(VNum)*14)
'gheight为图片宽度,根据字符长度自动更改图片宽度
Img=NewBitmap(gheight,24)
g=Graphics.FromImage(Img)
g.DrawString(VNum,(NewFont("Arial",12)),(NewSolidBrush(Color.Red)),3,3)'在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y)
ms=NewMemoryStream()
Img.Save(ms,ImageFormat.Png)
Response.ClearContent()'需要输出图象信息要修改HTTP头
Response.ContentType="image/Png"
Response.BinaryWrite(ms.ToArray())
g.Dispose()
Img.Dispose()
Response.End()
EndSub
'--------------------------------------------
'函数名称:RndNum
'函数参数:VCodeNum--设定返回随机字符串的位数
'函数功能:产生数字和字符混合的随机字符串
FunctionRndNum(ByValVcodeNum)
DimVcharAsString="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,W,X,Y,Z"'需要使用中文验证,可以修改这里和ValidateCode函数中的字体
DimVcArray()AsString=Split(Vchar,",")'将字符串生成数组
DimVNumAsString=""
DimiAsByte
Fori=1ToVcodeNum
Randomize()
VNum=VNumVcArray(Int(35*Rnd()))'数组一般从0开始读取,所以这里为35*Rnd
Next
ReturnVNum
EndFunction
/script
调用页面:
demo.ASPx
scriptlanguage="VB"Runat="Server"
SubPage_Load(Senderasobject,easeventargs)
dimVNumasstring=Session("VNum")
Session.Abandon()
ViewState("VNum")=VNum
EndSub
'下面的事件代码是用来测试验证码
SubbtnSubmit_click(senderasobject,easeventargs)
'判断输入的验证码与所给是否相同
IftxtValidateCode.Text=CStr(ViewState("VNum"))Then
ensonShow.text="fontcolor='red'提示:验证通过/font"
Else
ensonShow.text="所填写的验证码与所给的不符"
EndIf
EndSub
/script
html
body
formrunat="server"
divalign="center"
tablewidth="750"
tr
tdvalign="middle"验证码:/td
!--调用验证图片生成页---
tdvalign="top"asp:Imageid="Image1"runat="server"ImageUrl="gif.aspx"//td
/tr
tr
tdvalign="top"输入验证码:/td
tdvalign="top"asp:textboxID="txtValidateCode"runat="server"TextMode="SingleLine"/fontcolor="#FF0000"size="2"*区分大小写/font/td
/tr
tr
tdcolspan="2"valign="top"align="center"asp:buttonID="btnSubmit"runat="server"Text="验证"onclick="btnSubmit_click"/
asp:labelID="ensonShow"runat="server"/
/td
/tr
/table
/div
/form
/body
/html
Q2: VB NET 中怎样实现动态验证码
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Collections
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports System.Drawing
Partial Public Class VerifyCode
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Session("VerifyCode") = MakeValidateCode()
CreateImage(Session("VerifyCode").ToString())
End Sub
Private Sub CreateImage(ByVal checkCode As String)
Dim iwidth As Integer = CInt(checkCode.Length * 12) + 10
Dim image As New System.Drawing.Bitmap(iwidth, 25)
Dim g As Graphics = Graphics.FromImage(image)
g.Clear(Color.White)
'定义颜色
Dim c() As Color = { Color.Black, Color.Red, Color.DarkBlue, Color.Green, Color.Orange, Color.Brown, Color.DarkCyan, Color.Purple }
'定义字体
Dim font() As String = { "Verdana", "Microsoft Sans Serif", "Comic Sans MS", "Arial", "宋体" }
Dim rand As New Random()
'随机输出噪点
For i As Integer = 0 To 4
Dim x As Integer = rand.Next(image.Width)
Dim y As Integer = rand.Next(image.Height)
g.DrawRectangle(New Pen(Color.LightGray, 0), x, y, 1, 1)
Next i
'输出不同字体和颜色vb.net验证码生成的验证码字符
For i As Integer = 0 To checkCode.Length - 1
Dim cindex As Integer = rand.Next(7)
Dim findex As Integer = rand.Next(5)
Dim f As Font = New System.Drawing.Font("宋体", 12, System.Drawing.FontStyle.Regular)
Dim b As Brush = New System.Drawing.SolidBrush(c(cindex))
Dim ii As Integer = 4
If (i + 1) Mod 2 = 0 Then
ii = 2
End If
g.DrawString(checkCode.Substring(i, 1), f, b, 3 + (i * 12), ii)
Next i
'画一个边框
g.DrawRectangle(New Pen(Color.Black, 0), 0, 0, image.Width - 1, image.Height - 1)
'输出到浏览器
Dim ms As New System.IO.MemoryStream()
image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
Response.ClearContent()
Response.ContentType = "image/Jpeg"
Response.BinaryWrite(ms.ToArray())
g.Dispose()
image.Dispose()
End Sub
Private Function MakeValidateCode() As String
'0 i o
Dim s() As Char = { "0"c, "1"c, "2"c, "3"c, "4"c, "5"c, "6"c, "7"c, "8"c, "9"c, "A"c, "B"c, "C"c, "D"c, "E"c, "F"c, "G"c, "J"c, "K"c, "L"c, "M"c, "N"c, "P"c, "Q"c, "R"c, "S"c, "T"c, "U"c, "V"c, "W"c, "X"c, "Y"c, "Z"c }
Dim num As String = ""
Dim r As New Random()
For i As Integer = 0 To 3
num = s(r.Next(0, s.Length - 1)).ToString()
Next i
Return num
End Function
End Class
关于vb.net验证码生成和vba 验证码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







