⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clsclient.vb

📁 网吧系统管理
💻 VB
字号:
'****************************************************************************
'人人为我,我为人人
'枕善居汉化收藏整理
'发布日期:2007/07/23
'描    述:网吧计费管理系统客户端/服务器端
'网    站:http://www.Mndsoft.com/  (VB6源码博客)
'网    站:http://www.VbDnet.com/   (VB.NET源码博客,主要基于.NET2005)
'e-mail  :Mndsoft@163.com
'e-mail  :Mndsoft@126.com
'OICQ    :88382850
'          如果您有新的好的代码别忘记给枕善居哦!
'****************************************************************************
Imports System.Net.Sockets
Imports System.Text
Imports System.Management
Public Class ClsClient
    Private Client As TcpClient
    Const PORTNUM As Integer = 10000
    Const READ_BUFFER_SIZE As Integer = 255
    Dim readbuffer(READ_BUFFER_SIZE) As Byte
    Public ComputerName As String 'MAC 地址
    Public ClientIPAddress As String
    Public ServerIPAddress As String = "127.0.0.1"



    Sub New()
        Dim Adapters As New ArrayList
        Dim mc As System.Management.ManagementClass
        Dim mo As ManagementObject
        mc = New ManagementClass("Win32_NetworkAdapterConfiguration")
        Dim moc As ManagementObjectCollection = mc.GetInstances()
        For Each mo In moc
            If CBool(mo.Item("IPEnabled")) Then
                Dim strAdapter As String
                strAdapter = mo.Item("Caption").ToString().Substring(11)
                Adapters.Add(strAdapter)
            End If
        Next
        mc = New ManagementClass("Win32_NetworkAdapterConfiguration")
        For Each mo In moc
            If CBool(mo.Item("IPEnabled")) Then
                Dim strAdapter As String
                strAdapter = mo.Item("Caption").ToString().Substring(11)
                If strAdapter = Adapters(0) Then
                    ComputerName = mo.Item("MacAddress").ToString()
                End If
            End If
        Next
        Dim Address() As System.Net.IPAddress
        Address = System.Net.Dns.GetHostByName(SystemInformation.ComputerName).AddressList
        ClientIPAddress = Address(0).ToString
    End Sub


    Public Sub ConneceAndRead()
        Try
            Client = New TcpClient(ServerIPAddress, PORTNUM)
            Client.GetStream.BeginRead(readbuffer, 0, READ_BUFFER_SIZE, AddressOf DoRead, Nothing)
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

    Private Sub DoRead(ByVal ar As IAsyncResult)
        Dim message As String
        Dim bytesread As Integer
        bytesread = Client.GetStream.EndRead(ar)
        message = Encoding.ASCII.GetString(readbuffer, 0, bytesread)
        ProcessCommand(message)
        client.GetStream.BeginRead(readbuffer, 0, READ_BUFFER_SIZE, AddressOf DoRead, Nothing)
    End Sub


    Sub ProcessCommand(ByVal data As String)
        Dim dataArray() As String
        dataArray = data.Split(",")
        Select Case dataArray(0)
            Case "LOGIN"
                If Val(dataArray(1)) = 1 Then
                    MsgBox("登录成功")
                End If
                If Val(dataArray(1)) = 0 Then
                    MsgBox("用户名或者密码错误")
                End If
                If Val(dataArray(1)) = -1 Then
                    MsgBox("余额不足请及时充值!")
                End If
            Case "LOGOFF"
                If Val(dataArray(1)) > 10 Then
                    MsgBox("退出成功!余额为" & dataArray(1))
                Else
                    MsgBox("退出成功!余额为" & dataArray(1) & ",请及时加款!")
                End If
            Case "BROADCAST"
                If Trim(dataArray(1)) <> "" Then
                    MsgBox(dataArray(1))
                Else
                    ShutDown()
                End If
        End Select
    End Sub


    Public Sub SendData(ByVal data As String)
        Dim writer As New IO.StreamWriter(client.GetStream)
        writer.Write(data & Chr(13) & Chr(10))
        writer.Flush()
    End Sub


    
    Shared Sub ShutDown()
        System.Diagnostics.Process.Start("Shutdown", "/r") 'to restart
        '  System.Diagnostics.Process.Start("Shutdown", "/l") 'to logoff
        '  System.Diagnostics.Process.Start("Shutdown", "/a") 'to abort
        '  System.Diagnostics.Process.Start("Shutdown", "/s") 'to abort
    End Sub




    Shared Sub LockComputer()
        Dim key, subkey As Microsoft.Win32.RegistryKey
        key = Microsoft.Win32.Registry.CurrentUser
        subkey = key.OpenSubKey("software\microsoft\windows\currentversion\policies\system", True)
        subkey.SetValue("DisableRegistryTools", 1)
        subkey.Close()
        '禁用注册表
        subkey = key.OpenSubKey("software\microsoft\windows\currentversion\policies\system", True)
        subkey.SetValue("DisableTaskMgr", 1)
        subkey.Close()
        '屏蔽任务管理器 
    End Sub
    Shared Sub AutoStart()
        '设置开机后客户端自启动
        Dim key, subkey As Microsoft.Win32.RegistryKey
        key = Microsoft.Win32.Registry.CurrentUser
        subkey = key.OpenSubKey("software\microsoft\windows\currentversion\run", True)
        subkey.SetValue("Client", Application.StartupPath + "\Client.exe")
        subkey.Close()
    End Sub
    Shared Sub CancelAutoStart()
        '取消开机后客户端自启动
        Dim key, subkey As Microsoft.Win32.RegistryKey
        key = Microsoft.Win32.Registry.CurrentUser
        subkey = key.OpenSubKey("software\microsoft\windows\currentversion\run", True)
        subkey.DeleteValue("Client")
        subkey.Close()
    End Sub


    Shared Sub UnLockComputer()
        Dim key, subkey As Microsoft.Win32.RegistryKey
        key = Microsoft.Win32.Registry.CurrentUser
        subkey = key.OpenSubKey("software\microsoft\windows\currentversion\policies\system", True)
        subkey.SetValue("DisableRegistryTools", 0)
        subkey.Close()
        '释放注册表
        subkey = key.OpenSubKey("software\microsoft\windows\currentversion\policies\system", True)
        subkey.SetValue("DisableTaskMgr", 0)
        subkey.Close()
        '释放任务管理器 
    End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -