• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    vb實現遠程控制

    發布: 2007-5-25 09:19 | 作者: webdawn | 來源: programfan.com | 查看: 62次 | 進入軟件測試論壇討論

    領測軟件測試網 做完了這些準備工作,就可以開始著手編寫代碼了。
    在Form窗口上點擊鼠標右鍵,選擇查看代碼,并在代碼窗口中輸入如下代碼:
    Private Sub Form_Load()
    Winsock1.RemoteHost = "對方計算機名"
    '如果想通過對方IP連接的話,請把上面一行改為Winsock1.RemoteHostIP="對方IP"。
    Winsock1.RemotePort = 1001
    '可以任意填寫,最好在1000以上
    End Sub

    Private Sub cmdconnect_Click()
    Winsock1.Connect         '連接主機
    Cmdcommand.Enabled=True   '將cmdcommand按鈕設為有效
    cmdconnect.Enabled = False
    End Sub

    Private Sub cmdCommand_Click()
    Dim CommandMain As String
    CommandMain = InputBox("請輸入命令:", "命令窗口")
    Winsock1.SendData CommandMain '向服務器端發送數據
    End Sub
        看到這里應該祝賀你,你已經完成了客戶端的編寫。不要這麼吃驚,真的就這麼簡單。
    當然前面已經說過,這種程序是由兩部分組成的,所以光學會做客戶端還不夠。你還必須要
    編寫一個服務器端來接受并執行客戶端所發出的命令,否則的話你所發出的命令就會"一去兮
    ,不復返也"。
        編寫服務器端的程序前,必須明確的是:你到底要服務器端計算機做什麼?我們假定要
    服務器端計算機在接受到reboot命令后重啟計算機,接受到shutdown命令后關閉計算機,接
    受到logoff命令后注銷計算機、接收到close命令后退出本程序以及接受到其他命令后默認為
    Message消息。為此我們必須用到Exitwindowsex這個api函數,這個函數的具體用法會在下面
    說明。
        好了,明確了目的后,我們要做的就是開始著手編寫代碼了。請先將前面編好的客戶端
    程序編譯后保存,然后建立新工程,加入一個Winsock1控件,并將控件的Protocol屬性設為
    SckTcpProtocol。同客戶端一樣進入代碼窗口加入如下代碼:
    '*************************************************************************
    Private Const EWX_LOGOFF = 0
    Private Const EWX_REBOOT = 2
    Private Const EWX_SHUTDOWN = 1
    Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal
    dwReserved As Long) As Long
    '*************************************************************************
    '以上部分為api函數的聲明部分,請不要做任何修改。

    Private Sub Form_Load()
    Winsock1.LocalPort = 1001 '注意這里的設置一定要和客戶端中Winsock1.RemotePort所使
    用的端口一致,否則將無法使用。
    Winsock1.Listen '將1001端口狀態設為監聽狀態
    End Sub

    Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    '處理錯誤如果有錯誤發生則跳過錯誤
    On Error Resume Next
    If Winsock1.State <> sckClosed Then '如果State狀態為sckClosed,則關閉Winsock
    連接。
    Winsock1.Close
    End If
    Winsock1.Accept requestID            '接受連接
    '處理錯誤如果有錯誤發生則報告出錯提示
    If Err Then
    MsgBox Error
    End If
    End Sub

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    '以下部分為定義的簡單協議
    Dim strdata As String
    Winsock1.getdata strdata    '獲取客戶端發出的命令
    Select Case strdata
    Case "reboot" '當strdata的值為reboot時重新啟動計算機,以下幾條代碼的作用以此類推
    。
    ExitWindowsEx EWX_REBOOT, 0
    Case "shutdown"
    ExitWindowsEx EWX_SHUTDOWN, 0
    Case "logoff"
    ExitWindowsEx EWX_LOGOFF, 0
    Case  "close"
    end
    Case Else
    MsgBox strdata, vbInformation, "消息"
    End Select
    End Sub
    Private Sub Form_Unload(Cancel As Integer)
    Winsock1.Close '關閉程序時斷開連接
    End Sub

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>