如何利用VB編寫一個遠(yuǎn)程控制程序

這篇文章主要為大家展示了“如何利用VB編寫一個遠(yuǎn)程控制程序”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何利用VB編寫一個遠(yuǎn)程控制程序”這篇文章吧。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、網(wǎng)站制作、玄武網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、玄武網(wǎng)絡(luò)營銷、玄武企業(yè)策劃、玄武品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供玄武建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:bm7419.com

一、所用控件

在程序中將使用Winsock控件。Winsock控件是一個ActiveX控件,使用TCP協(xié)議或UDP協(xié)議連接到遠(yuǎn)程計算機(jī)上并與之交換數(shù)據(jù)。和定時器控件一樣,Winsock控件在運(yùn)行時是不可見的。Winsock的工作原理是:客戶端向服務(wù)器端發(fā)出連接請求,服務(wù)器端則不停地監(jiān)聽客戶端的請求,當(dāng)兩者的協(xié)議溝通時,客戶端和服務(wù)器端之間就建立了連接,這時客戶端和服務(wù)器端就可以實(shí)現(xiàn)雙向數(shù)據(jù)傳輸。實(shí)際編程中,必須分別建立一個服務(wù)器端應(yīng)用程序和一個客戶端應(yīng)用程序,兩個應(yīng)用程序中分別有自己的Winsock控件。首先設(shè)置Winsock控件使用的協(xié)議,這里我們使用TCP協(xié)議?,F(xiàn)在,讓我們開始用VB建立兩個程序,一個是客戶端程序myclient,另一個是服務(wù)器端程序myserver。

二、VB.NET程序編寫客戶端

首先來建客戶端程序myclient。在myclient程序中建立一個窗體,加載Winsock控件,稱為tcpclient,表示使用的是TCP協(xié)議,再加入兩個文本框(text1和text2),用來輸入服務(wù)器的IP地址和端口號,然后建立一個按鈕(cd1),用來建立連接,按下之后就可以對連接進(jìn)行初始化了,代碼如下:

privatesubcd1_click()  tcpclient.romotehost=text1.text  tcpclient.romoteport=val(text2.text)'端口號,缺省為1001  tcpclient.connect'調(diào)用connect方法,與指定IP地址的計算機(jī)進(jìn)行連接  cd1.enabled=false endsub

連接之后就是如何處理所收到的數(shù)據(jù)的問題了??蛻舳撕头?wù)器端建立連接后,如果有任何一端接收到新的數(shù)據(jù),就會觸發(fā)該端winsock控件的dataarrival事件,在響應(yīng)這個事件時,可以使用getdata方法獲得發(fā)送來的數(shù)據(jù)。比如可以在tcpclient的dataarrival事件中編寫代碼如下:

privatesubtcpclient_dataarrival(byvalbytestotalaslong)  dimxasstring  tcpclient.getdatax'使用getdata獲得發(fā)送來的數(shù)據(jù)  .......  Endsub

后面的省略部分表示對接收到的數(shù)據(jù)進(jìn)行的具體處理,讀者可以根據(jù)實(shí)際情況編寫。

三、VB.NET程序編寫服務(wù)器端

先建立一個窗體,加載Winsock控件,名稱為tcpserver。另外在窗體上加入一個文本框text1用來顯示客戶機(jī)的IP地址和客戶機(jī)發(fā)送過來的數(shù)據(jù)信息。

當(dāng)客戶端程序運(yùn)行時,在客戶端程序按下連接按鈕后,客戶端向服務(wù)器端程序請求連接,這時服務(wù)器端的connectionrequest事件被觸發(fā),所以服務(wù)器端程序要解決連接問題,可以使用connectionrequest事件完成此功能。代碼如下:

'在窗體的load事件中對tcpserver控件進(jìn)行初始化  privatesubform_load()  tcpserver.localport=1001 tcpserver.listen'把服務(wù)器置于監(jiān)聽檢測狀態(tài)  endsub  '服務(wù)器端接收到客戶端的連接請求,首先檢查當(dāng)前狀態(tài)是否處于連接關(guān)閉狀態(tài)  Privatesubtcpclient_connectionrequest(ByvalrequestIDaslong)  Iftcpserver.state<>sckclosedthen'檢查控件的state屬性是否為關(guān)閉  Tcpserver.close'  Tcpserver.acceptrequestID'  Endif  Endsub

現(xiàn)在我們在服務(wù)器端程序tcpserver的dataarrival事件中添加以下代碼,以便讓服務(wù)器端程序可以接收客戶機(jī)端的指令,并運(yùn)行相應(yīng)的程序。

四、VB.NET程序測試遠(yuǎn)程控制

現(xiàn)在,你就可以將這兩個程序分別運(yùn)行于兩臺使用TCP/IP協(xié)議聯(lián)網(wǎng)的機(jī)器了。在客戶機(jī)端你按下連接按鈕,再輸入“c:mmand.com”,可以看到在服務(wù)器端立刻打開一個DOS窗口,設(shè)想一下,如果它運(yùn)行一些破壞性的命令會發(fā)生什么事情?這就是一個最基本的遠(yuǎn)程控制程序。當(dāng)然,真正的黑客程序要復(fù)雜得多,但基本原理是相同的。

以上是“如何利用VB編寫一個遠(yuǎn)程控制程序”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章標(biāo)題:如何利用VB編寫一個遠(yuǎn)程控制程序
分享地址:http://bm7419.com/article2/jddiic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、關(guān)鍵詞優(yōu)化、App開發(fā)、企業(yè)建站響應(yīng)式網(wǎng)站、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)