📄 185.htm
字号:
<p>实现端口对端口的聊天</p>
<p></p>
<p></p>
<p>本程序可以在互联网和局域网,甚至在一台电脑里面也可以(设置端口就可以了!!!)</p>
<p></p>
<p>模块声明如下:</p>
<p></p>
<p>Public Declare Function ReleaseCapture Lib "user32" () As Long</p>
<p>Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, IParam As Any) As Long</p>
<p>Public Const WM_SYSCOMMAND = &H112</p>
<p>Public Const SC_MOVE = &HF010&</p>
<p>Public Const HTCAPTION = 2</p>
<p></p>
<p>窗口的代码:</p>
<p></p>
<p></p>
<p>Private Sub Form_Load()</p>
<p>txtRemoteIP = Winsock1.LocalIP</p>
<p>Line19.BorderColor = QBColor(15)</p>
<p>Line20.BorderColor = QBColor(15)</p>
<p>Line21.BorderColor = QBColor(0)</p>
<p>Line22.BorderColor = QBColor(0)</p>
<p>Label1.BackColor = &HC07847</p>
<p>Label2.BackColor = &HC07847</p>
<p>Label3.BackColor = &HC07847</p>
<p>Label4.BackColor = &HC07847</p>
<p>Label5.BackColor = &HC07847</p>
<p>Label6.BackColor = &HC07847</p>
<p>Label7.BackColor = &HC07847</p>
<p>Label8.BackColor = &HC07847</p>
<p>Label9.BackColor = &HC07847</p>
<p>Label10.BackColor = &HC07847</p>
<p>Label11.BackColor = &HC07847</p>
<p>Label12.BackColor = &HC07847</p>
<p>label13.BackColor = &HC07847</p>
<p>txtRemoteIP.BackColor = &HC07847</p>
<p>txtRemotePort.BackColor = &HC07847</p>
<p>txtLocalPort.BackColor = &HC07847</p>
<p>Text1.BackColor = &HC07847</p>
<p>Text2.BackColor = &HC07847</p>
<p>End Sub</p>
<p></p>
<p>Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)</p>
<p>ReleaseCapture</p>
<p>ret& = SendMessage(Me.hWnd, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0)</p>
<p>End Sub</p>
<p></p>
<p></p>
<p>Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)</p>
<p>If Button = 1 Then</p>
<p>Line19.BorderColor = QBColor(0)</p>
<p>Line20.BorderColor = QBColor(0)</p>
<p>Line21.BorderColor = QBColor(15)</p>
<p>Line22.BorderColor = QBColor(15)</p>
<p>End If</p>
<p>On Error GoTo ErrHandler</p>
<p>With Winsock1</p>
<p>.RemoteHost = Trim(txtRemoteIP)</p>
<p>.RemotePort = Trim(txtRemotePort)</p>
<p> If .LocalPort = Empty Then</p>
<p> .LocalPort = Trim(txtLocalPort)</p>
<p> .Bind .LocalPort</p>
<p> End If</p>
<p>End With</p>
<p>txtLocalPort.Locked = Tru</p>
<p>Label7.Caption = " Connected to " & Winsock1.RemoteHost & " "</p>
<p>Text2.SetFocus</p>
<p>ErrHandler:</p>
<p>End Sub</p>
<p></p>
<p>Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)</p>
<p>If Line19.Visible = False Then</p>
<p>Line19.Visible = True</p>
<p>Line20.Visible = True</p>
<p>Line21.Visible = True</p>
<p>Line22.Visible = True</p>
<p>End If</p>
<p>End Sub</p>
<p></p>
<p>Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)</p>
<p>If Button = 1 Then</p>
<p>Line19.BorderColor = QBColor(15)</p>
<p>Line20.BorderColor = QBColor(15)</p>
<p>Line21.BorderColor = QBColor(0)</p>
<p>Line22.BorderColor = QBColor(0)</p>
<p>End If</p>
<p>End Sub</p>
<p></p>
<p>Private Sub Label1_Click()</p>
<p>End</p>
<p>End Sub</p>
<p></p>
<p>Private Sub Label11_Click()</p>
<p>MsgBox "郭镇东全力制作!", , "About"</p>
<p>End Sub</p>
<p></p>
<p>Private Sub Label12_Click()</p>
<p>Text1.Text = ""</p>
<p>Text2.Text = ""</p>
<p>End Sub</p>
<p></p>
<p>Private Sub Label2_Click()</p>
<p>Form1.WindowState = 1</p>
<p>End Sub</p>
<p>Private Sub Text2_KeyPress(KeyAscii As Integer)</p>
<p>Static Last_Line_Feed As Long</p>
<p>Dim New_Line As String</p>
<p>If Trim(Text2) = vbNullString Then Last_Line_Feed = 0</p>
<p>If KeyAscii = 13 Then</p>
<p> New_Line = Mid(Text2, Last_Line_Feed + 1)</p>
<p> Last_Line_Feed = Text2.SelStart</p>
<p> Winsock1.SendData New_Line</p>
<p> Label7.Caption = " Sent " & (LenB(New_Line) / 2) & " bytes "</p>
<p>End If</p>
<p>End Sub</p>
<p></p>
<p>Private Sub Timer1_Timer()</p>
<p>Line19.Visible = False</p>
<p>Line20.Visible = False</p>
<p>Line21.Visible = False</p>
<p>Line22.Visible = False</p>
<p>End Sub</p>
<p></p>
<p>Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)</p>
<p>Dim New_Text As String</p>
<p>Winsock1.GetData New_Text</p>
<p>Text1.SelText = New_Text</p>
<p>Label7.Caption = " Recieved " & bytesTotal & " bytes "</p>
<p>End Sub</p>
<p> </p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -