已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
畢業(yè)設(shè)計(jì)(論文)簡單遠(yuǎn)程控制系統(tǒng) -主控端及部分被控端設(shè)計(jì)論文作者姓名:申請(qǐng)學(xué)位專業(yè):申請(qǐng)學(xué)位類別:指導(dǎo)教師姓名(職稱):論文提交日期:第 1 頁 共 1 頁簡單遠(yuǎn)程控制系統(tǒng)-主控端及部分被控端設(shè)計(jì)摘 要目前,隨著計(jì)算機(jī)網(wǎng)絡(luò)的廣泛應(yīng)用,網(wǎng)絡(luò)速度越來越快,使用遠(yuǎn)程控制技術(shù),可以對(duì)遠(yuǎn)程計(jì)算機(jī)進(jìn)行操作,就像控制本地計(jì)算機(jī)一樣。這種技術(shù)在遠(yuǎn)程設(shè)備(軟件)的維護(hù)、監(jiān)控與故障診斷等方面有著廣泛的應(yīng)用前景。遠(yuǎn)程技術(shù)支持將占據(jù)技術(shù)支持的主流:遠(yuǎn)程教學(xué)和培訓(xùn)也將快速發(fā)展。企業(yè)規(guī)模將迅速擴(kuò)大,所有這些發(fā)展都為遠(yuǎn)程控制軟件提供了一個(gè)廣闊的天地。簡單遠(yuǎn)程控制系統(tǒng)由主控端和被控端兩部分組成。主控端用于實(shí)施各種對(duì)連網(wǎng)計(jì)算機(jī)的監(jiān)控操作,被控端對(duì)于接收到的數(shù)據(jù)進(jìn)行分析,解釋并執(zhí)行。系統(tǒng)主要可以實(shí)現(xiàn)獲取被控端信息、被控端系統(tǒng)控制、消息發(fā)送和被控端界面控制的監(jiān)控功能。作者的主要工作是主控端的設(shè)計(jì)與實(shí)現(xiàn)及整個(gè)獲取被控端信息模塊的設(shè)計(jì)與實(shí)現(xiàn)。本文對(duì)遠(yuǎn)程控制系統(tǒng)原理和主要相關(guān)技術(shù)作了簡單介紹,在進(jìn)行的需求分析之后,詳細(xì)描述了本系統(tǒng)的主控端的設(shè)計(jì)與實(shí)現(xiàn)及被控端的獲取被控端信息模塊的設(shè)計(jì)與實(shí)現(xiàn),最后表格形式給出測試結(jié)果。 關(guān)鍵詞:遠(yuǎn)程控制;c/s模式;套接字 simple remote control system - the design of controlling terminal and parts of controlled terminal abstractat present, along with the development of the network technology, the speed of the network is faster and faster. using the technology of remote control, the remote computer can be controlled as conveniently as the local one. the technology of remote control can be very useful in the maintenance, monitoring and malfunction diagnosis of remote computers. remote control technique will be a tide of technique support; distance education and train will also be developing in a high speed. the scope of enterprises will extend at a very fast speed in the same way. these all development provides a wide space for remote control software. the simple remote control system consists of two parts including controlling terminal and controlled terminal. we can monitor the controlled terminal and implement some operation about controlling the controlled terminal on the controlling monitor. the controlled terminal is used for analyzing, explaining and implement the received data. the system can implement the function of getting the information of controlled terminal, control controlled terminal, sending messages, controlling the screen of the controlled computer and so on. my job is the design and implementation of the controlling terminal and the function of getting the information of controlled terminal.the paper simply introduces the theory of remote control and the main correlative technology. after the analysis, it describes the design and implement of the controlling terminal and the function of getting the information of controlled terminal. at last, it shows the result in form of figures.key words: remote control; client/server mode; socket 目 錄論文總頁數(shù):24頁1引言11.1背景11.2國內(nèi)外研究現(xiàn)狀11.3本課題研究的意義21.4作者主要工作22相關(guān)理論基礎(chǔ)32.1遠(yuǎn)程控制概述32.1.1遠(yuǎn)程控制軟件的原理32.1.2遠(yuǎn)程控制技術(shù)的應(yīng)用42.2開發(fā)環(huán)境52.3主要控件介紹52.3.1winsock控件52.3.2timer控件介紹52.4c/s模式52.5tcp協(xié)議與udp協(xié)議介紹62.5.1tcp 協(xié)議62.5.2udp 協(xié)議63需求分析63.1系統(tǒng)概貌63.2功能要求73.3主控端設(shè)計(jì)思路73.4性能要求83.5運(yùn)行要求84主控端及部分被控端設(shè)計(jì)與實(shí)現(xiàn)84.1簡單遠(yuǎn)程控制系統(tǒng)結(jié)構(gòu)設(shè)計(jì)84.1.1簡單遠(yuǎn)程控制系統(tǒng)的結(jié)構(gòu)84.1.2簡單遠(yuǎn)程控制系統(tǒng)的功能模塊94.2系統(tǒng)功能的實(shí)現(xiàn)104.2.1主控端界面104.2.2功能實(shí)現(xiàn)過程114.2.3系統(tǒng)控制功能的實(shí)現(xiàn)114.2.4發(fā)送消息功能的實(shí)現(xiàn)134.2.5界面控制功能的實(shí)現(xiàn)144.3部分被控端程序功能的實(shí)現(xiàn)164.3.1被控端的連接164.3.2獲取被控端信息功能的實(shí)現(xiàn)175測試195.1測試環(huán)境195.2測試過程與結(jié)果19結(jié) 論21參考文獻(xiàn)22致 謝23聲 明241 引言1.1 背景遠(yuǎn)程控制是在網(wǎng)絡(luò)上由一臺(tái)電腦(主控端remote/客戶端)遠(yuǎn)距離去控制另一臺(tái)電腦(被控端host/服務(wù)器端)的技術(shù),這里的遠(yuǎn)程不是字面意思的遠(yuǎn)距離,一般指通過網(wǎng)絡(luò)控制遠(yuǎn)端電腦,不過,大多數(shù)時(shí)候我們所說的遠(yuǎn)程控制往往指在局域網(wǎng)中的遠(yuǎn)程控制而言,遠(yuǎn)程控制必須通過網(wǎng)絡(luò)才能進(jìn)行。主控端和被控端可以是位于同一局域網(wǎng)的同一房間中,也可以是連入internet的處在任何位置的兩臺(tái)或多臺(tái)計(jì)算機(jī)。簡單遠(yuǎn)程控制具有和木馬相同的原理,遠(yuǎn)程控制一旦被居心不良者鉆了空子,它的危害甚至比木馬還要嚴(yán)重。遠(yuǎn)程控制具有很多功能,例如遠(yuǎn)程培訓(xùn)與教學(xué).遠(yuǎn)程辦公.遠(yuǎn)程管理與維護(hù).遠(yuǎn)程監(jiān)控。電腦中的遠(yuǎn)程控制技術(shù),始于dos時(shí)代,只不過當(dāng)時(shí)由于技術(shù)上沒有什么大的變化,網(wǎng)絡(luò)不發(fā)達(dá),市場沒有更高的要求,所以遠(yuǎn)程控制技術(shù)沒有引起更多人的注意。但是,隨著網(wǎng)絡(luò)的高度發(fā)展,電腦的管理及技術(shù)支持的需要,遠(yuǎn)程操作及控制技術(shù)越來越引起人們的關(guān)注。1.2 國內(nèi)外研究現(xiàn)狀起初,使用遠(yuǎn)程控制軟件,是為了讓pc用戶在離開辦公室時(shí)能訪問其臺(tái)式pc硬盤中的信息,甚至可以通過其臺(tái)式pc訪問企業(yè)網(wǎng)絡(luò)資源,今天,許多企業(yè)和增值分銷商正在把遠(yuǎn)程控制能力作為有效的技術(shù)支持工具。很多網(wǎng)絡(luò)管理員都采用這類軟件對(duì)局域網(wǎng)進(jìn)行管理,或者在家中更新自己網(wǎng)站的內(nèi)容。這類軟件對(duì)于出差在外的商務(wù)人員用處非常大,因?yàn)樗麄兛梢噪S時(shí)提取自己家里計(jì)算機(jī)中的數(shù)據(jù)和資料。遠(yuǎn)程控制軟件在計(jì)算機(jī)遠(yuǎn)程教學(xué)和培訓(xùn)中也發(fā)揮了很大的作用,使身處異地的學(xué)生能夠與老師進(jìn)行適時(shí)交流,猶如坐在同一間教室。近年來,黑客技術(shù)不斷成熟起來,對(duì)網(wǎng)絡(luò)安全造成了極大的威脅。黑客的主要攻擊手段之一就是使用遠(yuǎn)程控制技術(shù),滲透到對(duì)方的主機(jī)系統(tǒng)里,從而實(shí)現(xiàn)遠(yuǎn)程操作目標(biāo)主機(jī),其破壞力之大,是絕不容忽視的。目前,遠(yuǎn)程控制技術(shù)也廣泛應(yīng)用在工業(yè)領(lǐng)域,可以對(duì)遠(yuǎn)程數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控,提高工作效率,進(jìn)而降低管理成本。遠(yuǎn)程控制逐漸成為當(dāng)前信息技術(shù)領(lǐng)域的熱點(diǎn)。,遠(yuǎn)程控制在國內(nèi)外都有不同程度的研究。相對(duì)于來說,由于西方國家在信息技術(shù)和計(jì)算機(jī)控制技術(shù)的發(fā)展上的優(yōu)勢,他們?cè)谶h(yuǎn)程控制方面相對(duì)早一些,已經(jīng)有了一些基本成熟的產(chǎn)品問世。國內(nèi)由于網(wǎng)絡(luò)的飛速發(fā)展,近幾年也開始積極的研究。國內(nèi)外在遠(yuǎn)程控制機(jī)器人控制方面的研究相對(duì)比其它領(lǐng)域要多一些。這些遠(yuǎn)程控制系統(tǒng)普遍采用了客戶/服務(wù)器模型(即c/s模型),可以是一對(duì)一的模式,也可以是一對(duì)多的模式。遠(yuǎn)程控制一般支持下面的這些網(wǎng)絡(luò)方式:lan、wan、撥號(hào)方式、互聯(lián)網(wǎng)方式。此外,有的遠(yuǎn)程控制軟件還支持通過串口、并口、紅外端口來對(duì)遠(yuǎn)程機(jī)進(jìn)行控制(不過,這里說的遠(yuǎn)程電腦,只能是有限距離范圍內(nèi)的電腦了)。傳統(tǒng)的遠(yuǎn)程控制軟件一般使用netbeui、netbios、ipx/spx、tcp/ip等協(xié)議來實(shí)現(xiàn)遠(yuǎn)程控制,不過,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,目前很多遠(yuǎn)程控制軟件提供通過web頁面以java技術(shù)來控制遠(yuǎn)程電腦,這樣可以實(shí)現(xiàn)不同操作系統(tǒng)下的遠(yuǎn)程控制。1.3 本課題研究的意義隨著社會(huì)、科技、經(jīng)濟(jì)的不斷發(fā)展,遠(yuǎn)程控制技術(shù)的應(yīng)用范圍也在不斷擴(kuò)展。小到個(gè)人的使用,大到整個(gè)行業(yè)的應(yīng)用。遠(yuǎn)程控制技術(shù)應(yīng)用到了我們生活中的各行各業(yè)中,從銀行、軍事、機(jī)要部門等特殊行業(yè)領(lǐng)域到電業(yè)部門、郵政電信部門、商業(yè)部門、普通工礦企業(yè)、道路交通領(lǐng)域、衛(wèi)生醫(yī)療部門以及賓館酒店行業(yè)等等,其卓越的功能也日益受到各個(gè)應(yīng)用行業(yè)的重視和青睞。遠(yuǎn)程控制是當(dāng)前信息技術(shù)領(lǐng)域的熱點(diǎn),使用遠(yuǎn)程控制技術(shù),我們可以克服因地域差異而造成的操作不便,讓網(wǎng)絡(luò)的效率得到更大的發(fā)揮。隨著技術(shù)的發(fā)展與網(wǎng)絡(luò)的普及,目前遠(yuǎn)程控制技術(shù)的應(yīng)用領(lǐng)域已經(jīng)相當(dāng)廣泛。我們不僅可以通過遠(yuǎn)程控制技術(shù)管理遠(yuǎn)端電腦,解決遠(yuǎn)端電腦的故障,與其他同事通過網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程協(xié)作,一起編輯一份文檔或者與其他團(tuán)隊(duì)成員交流信息,還可以在家里或旅途中使用公司內(nèi)部網(wǎng)絡(luò)的數(shù)據(jù)與辦公設(shè)備,實(shí)現(xiàn)遠(yuǎn)程辦公。此外,您還能讓學(xué)員遠(yuǎn)程連接到您的電腦,實(shí)時(shí)學(xué)習(xí)軟件的操作,或者與多位遠(yuǎn)程連接用戶進(jìn)行多點(diǎn)會(huì)話。 對(duì)于個(gè)人用戶而言,遠(yuǎn)程控制技術(shù)最具吸引力的莫過于可以遙控遠(yuǎn)端的電腦。用戶可以在家中操作辦公室里的電腦,或者在辦公室里調(diào)用存儲(chǔ)在家中的文檔,同時(shí)還可以當(dāng)一回專家,通過遠(yuǎn)程控制計(jì)算機(jī)為朋友的電腦排憂解難。1.4 作者主要工作 改系統(tǒng)軟件是本人與周睿同學(xué)共同研究開發(fā)的,周睿同學(xué)主要負(fù)責(zé)被控端的設(shè)計(jì)與開發(fā),本人主要負(fù)責(zé)主控端和部分被控端(獲取被控端信息)的設(shè)計(jì)與開發(fā)。本人在系統(tǒng)開發(fā)中的具體工作:1、搜尋與系統(tǒng)開發(fā)相關(guān)的資料,熟悉vb開發(fā)語言。 2、完成主控端界面設(shè)計(jì)。3、完成界面按鈕與各個(gè)功能模塊的連接。4、完成主控端各個(gè)模塊的界面與程序代碼。5、完成整個(gè)獲取被控端信息功能模塊(包含被控端部分)。6、與周睿同學(xué)一起對(duì)系統(tǒng)進(jìn)行調(diào)試和測試。7、歸并相關(guān)系統(tǒng)開發(fā)文檔,完成畢業(yè)論文的撰寫。2 相關(guān)理論基礎(chǔ)整個(gè)系統(tǒng)采用c/s(服務(wù)器/客戶機(jī)),即被控端/主控端模型設(shè)計(jì)。主控端程序運(yùn)行在主控機(jī)上,被控端程序運(yùn)行在受控機(jī)上。主控端向被控端發(fā)送請(qǐng)求和控制指令,被控端響應(yīng)請(qǐng)求并執(zhí)行相應(yīng)的功能。雙方之間是基于tcp/ip協(xié)議進(jìn)行的點(diǎn)對(duì)點(diǎn)的通信。編碼是利用vb進(jìn)行編程,使用visual basic 6.0進(jìn)行編譯。2.1 遠(yuǎn)程控制概述遠(yuǎn)程控制是在網(wǎng)絡(luò)上由一臺(tái)電腦(主控端remote/客戶端)遠(yuǎn)距離去控制另一臺(tái)電腦(被控端host/服務(wù)器端)的技術(shù),這里的遠(yuǎn)程不是字面意思的遠(yuǎn)距離,一般指通過網(wǎng)絡(luò)控制遠(yuǎn)端電腦,不過,大多數(shù)時(shí)候我們所說的遠(yuǎn)程控制往往指在局域網(wǎng)中的遠(yuǎn)程控制而言。當(dāng)操作者使用主控電腦所控制被控電腦時(shí),就如同坐在被控電腦的屏幕前一樣,可以啟動(dòng)被控電腦的應(yīng)用程序,可以使用被控電腦的文件資料,甚至可以利用被控電腦的外部打印設(shè)備(打印機(jī))和通信設(shè)備(調(diào)制解調(diào)器或者專線等)來進(jìn)行打印和訪問互聯(lián)網(wǎng),就像你利用遙控器遙控電視的音量、變換頻道或者開關(guān)電視機(jī)一樣。不過,有一個(gè)概念需要明確,那就是主控電腦只是將鍵盤和鼠標(biāo)的指令傳送給遠(yuǎn)程電腦,同時(shí)將被控電腦的屏幕畫面通過通信線路回傳過來。也就是說,我們控制被控電腦進(jìn)行操作似乎是在眼前的電腦上進(jìn)行的,實(shí)質(zhì)是在遠(yuǎn)程電腦中實(shí)現(xiàn)的,不論打開文件,還是上網(wǎng)瀏覽、下載等都是存儲(chǔ)在遠(yuǎn)程的被控電腦中的。2.1.1 遠(yuǎn)程控制軟件的原理遠(yuǎn)程控制軟件一般分兩個(gè)部分:一部分是客戶端程序client,另一部分是服務(wù)器端程序server(或systry),在使用前需要將客戶端程序安裝到主控電腦上,將服務(wù)器端程序安裝到被控電腦上。它的控制的過程一般是先在主控電腦上執(zhí)行客戶端程序,像一個(gè)普通的客戶一樣向被控電腦中的服務(wù)器端程序發(fā)出信號(hào),建立一個(gè)特殊的遠(yuǎn)程服務(wù),然后通過這個(gè)遠(yuǎn)程服務(wù),使用各種遠(yuǎn)程控制功能發(fā)送遠(yuǎn)程控制命令,控制被控電腦中的各種應(yīng)用程序運(yùn)行,我們稱這種遠(yuǎn)程控制方式為基于遠(yuǎn)程服務(wù)的遠(yuǎn)程控制。通過遠(yuǎn)程控制軟件,我們可以進(jìn)行很多方面的遠(yuǎn)程控制,包括獲取目標(biāo)電腦屏幕圖像、窗口及進(jìn)程列表;記錄并提取遠(yuǎn)端鍵盤事件(擊鍵序列,即監(jiān)視遠(yuǎn)端鍵盤輸入的內(nèi)容);可以打開、關(guān)閉目標(biāo)電腦的任意目錄并實(shí)現(xiàn)資源共享;提取撥號(hào)網(wǎng)絡(luò)及普通程序的密碼;激活、中止遠(yuǎn)端程序進(jìn)程;管理遠(yuǎn)端電腦的文件和文件夾;關(guān)閉或者重新啟動(dòng)遠(yuǎn)端電腦中的操作系統(tǒng);修改windows注冊(cè)表;通過遠(yuǎn)端電腦上、下載文件和捕獲音頻、視頻信號(hào)等。2.1.2 遠(yuǎn)程控制技術(shù)的應(yīng)用1、遠(yuǎn)程辦公這種遠(yuǎn)程的辦公方式不僅大大緩解了城市交通狀況,減少了環(huán)境污染,還免去了人們上下班路上奔波的辛勞,更可以提高企業(yè)員工的工作效率和工作興趣。2、遠(yuǎn)程技術(shù)支持通常,遠(yuǎn)距離的技術(shù)支持必須依賴技術(shù)人員和用戶之間的電話交流來進(jìn)行,這種交流既耗時(shí)又容易出錯(cuò)。許多用戶對(duì)電腦了解得很少,然而當(dāng)遇到問題時(shí),他們必須向無法看到電腦屏幕的技術(shù)人員描述問題的癥狀,并且嚴(yán)格遵守技術(shù)人員的指示精確地描述屏幕上的內(nèi)容,但是由于他們的電腦專業(yè)知識(shí)非常少,描述往往不得要領(lǐng),這就給技術(shù)人員判斷故障制造了非常大的障礙。即使技術(shù)人員明白了用戶電腦的問題所在,在嘗試解決問題時(shí),技術(shù)人員可能會(huì)指導(dǎo)用戶執(zhí)行一系列復(fù)雜的命令,而這個(gè)過程對(duì)用戶來說是十分困難的,因?yàn)榧夹g(shù)人員要依靠自己的語言來“操縱”用戶的鼠標(biāo)和鍵盤簡直是太難了,如果用戶不能正確地遵照指示去做,問題可能會(huì)進(jìn)一步惡化,電腦很可能會(huì)因?yàn)殄e(cuò)誤的操作導(dǎo)致系統(tǒng)的崩潰。這樣一來,往往是技術(shù)人員要為十分簡單的一個(gè)問題和用戶說上十幾分鐘,甚至?xí)3膛艿胶苓h(yuǎn)的用戶那里幫助解決問題,而用戶往往因?yàn)閱栴}還沒有解決,只好將電腦閑置不用,單等技術(shù)人員上門來解決問題。有了遠(yuǎn)程控制技術(shù),技術(shù)人員就可以遠(yuǎn)程控制用戶的電腦,就像直接操作本地電腦一樣,只需要用戶的簡單幫助就可以得到該機(jī)器存在的問題的第一手材料,很快就可以找到問題的所在,并加以解決。3、遠(yuǎn)程交流利用遠(yuǎn)程技術(shù),商業(yè)公司可以實(shí)現(xiàn)和用戶的遠(yuǎn)程交流,采用交互式的教學(xué)模式,通過實(shí)際操作來培訓(xùn)用戶,使用戶從技術(shù)支持專業(yè)人員那里學(xué)習(xí)示例知識(shí)變得十分容易。而教師和學(xué)生之間也可以利用這種遠(yuǎn)程控制技術(shù)實(shí)現(xiàn)教學(xué)問題的交流,學(xué)生可以不用見到老師,就得到老師手把手的輔導(dǎo)和講授。學(xué)生還可以直接在電腦中進(jìn)行習(xí)題的演算和求解,在此過程中,教師能夠輕松看到學(xué)生的解題思路和步驟,并加以實(shí)時(shí)的指導(dǎo)。4、遠(yuǎn)程維護(hù)和管理網(wǎng)絡(luò)管理員或者普通用戶可以通過遠(yuǎn)程控制技術(shù)為遠(yuǎn)端的電腦安裝和配置軟件、下載并安裝軟件修補(bǔ)程序、配置應(yīng)用程序和進(jìn)行系統(tǒng)軟件設(shè)置。2.2 開發(fā)環(huán)境visual basic是基于對(duì)象的可視化程序開發(fā)工具,它的優(yōu)點(diǎn)在于能夠快捷、簡易的建立windows應(yīng)用程序。visual basic是在原有basic語言的基礎(chǔ)上進(jìn)一步發(fā)展,除了保留了basic語言的易學(xué)易用的優(yōu)點(diǎn)外,進(jìn)一步增加了圖形用戶界面的方法。專業(yè)人員可以用 visual basic實(shí)現(xiàn)其他任何windows編輯語言的功能,而初學(xué)者也能迅速上手建立實(shí)用的應(yīng)用程序。visual basic 6.0中文版本簡介:visual basic的前身是qbasic,語言基礎(chǔ)是basic。 basic(beginners all-purpose symbolic instruction code)語言,是一種在計(jì)算機(jī)技術(shù)發(fā)展史上應(yīng)用的最為廣泛的語言。visual basic在原有basic語言的基礎(chǔ)上進(jìn)一步發(fā)展,至今包含了數(shù)百條語句、函數(shù)及關(guān)鍵詞,其中很多和windows gui有直接關(guān)系。visual basic除了保留了basic語言的易學(xué)易用的優(yōu)點(diǎn)外,進(jìn)一步增加了開發(fā)圖形用戶界面的方法,以可視化的用戶界面設(shè)計(jì)機(jī)制,把程序設(shè)計(jì)人員從繁雜的界面設(shè)計(jì)工作中解脫出來,可以輕易的開發(fā)出具有優(yōu)秀的圖形界面和聲音、動(dòng)畫、圖片集成的多媒體應(yīng)用程序。自從微軟推出vb后,它便成為了程序開發(fā)人員的首選工具。2.3 主要控件介紹2.3.1 winsock控件winsock 控件對(duì)用戶來說是不可見的,它提供了訪問 tcp 和 udp 網(wǎng)絡(luò)服務(wù)的方便途徑。microsoft access、visual basic、visual c+ 或 visual foxpro 的開發(fā)人員都可使用它。為編寫客戶或服務(wù)器應(yīng)用程序,不必了解 tcp 的細(xì)節(jié)或調(diào)用低級(jí)的 winsock apis。通過設(shè)置控件的屬性并調(diào)用其方法就可輕易連接到一臺(tái)遠(yuǎn)程機(jī)器上去,并且還可雙向交換數(shù)據(jù)。2.3.2 timer控件介紹timer(時(shí)鐘)控件響應(yīng)時(shí)間的流逝。它們獨(dú)立于用戶,編程后可用來在一定的時(shí)間間隔執(zhí)行操作。此控件一般用處是檢查系統(tǒng)時(shí)鐘,判斷是否執(zhí)行某項(xiàng)任務(wù)。對(duì)于其它后臺(tái)處理,timer空間也是非常有用的。2.4 c/s模式c/s(client/server,客戶端/服務(wù)器)模式又稱c/s結(jié)構(gòu)。即大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到client端和server端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。client端的任務(wù)是將用戶的要求提交給server端,再將server端返回的結(jié)果以特定的形式顯示給用戶;server端的任務(wù)是接收客戶端提出的服務(wù)請(qǐng)求,進(jìn)行相應(yīng)的處理,再將結(jié)果返回給客戶端。2.5 tcp協(xié)議與udp協(xié)議介紹2.5.1 tcp 協(xié)議數(shù)據(jù)傳輸協(xié)議允許創(chuàng)建和維護(hù)與遠(yuǎn)程計(jì)算機(jī)的連接。連接兩臺(tái)計(jì)算機(jī)就可彼此進(jìn)行數(shù)據(jù)傳輸。如果創(chuàng)建客戶應(yīng)用程序,就必須知道服務(wù)器計(jì)算機(jī)名或者ip 地址(remotehost 屬性),還要知道進(jìn)行“偵聽”的端口(remoteport 屬性),然后調(diào)用 connect 方法。如果創(chuàng)建服務(wù)器應(yīng)用程序,就應(yīng)設(shè)置一個(gè)收聽端口(localport 屬性)并調(diào)用 listen 方法。當(dāng)客戶計(jì)算機(jī)需要連接時(shí)就會(huì)發(fā)生 connectionrequest 事件。為了完成連接,可調(diào)用 connectionrequest 事件內(nèi)的 accept 方法。建立連接后,任何一方計(jì)算機(jī)都可以收發(fā)數(shù)據(jù)。為了發(fā)送數(shù)據(jù),可調(diào)用 senddata 方法。當(dāng)接收數(shù)據(jù)時(shí)會(huì)發(fā)生 dataarrival 事件。調(diào)用 dataarrival 事件內(nèi)的 getdata 方法就可獲取數(shù)據(jù)。2.5.2 udp 協(xié)議用戶數(shù)據(jù)報(bào)協(xié)議 (udp) 是一個(gè)無連接協(xié)議。跟 tcp 的操作不同,計(jì)算機(jī)并不建立連接。另外 udp 應(yīng)用程序可以是客戶機(jī),也可以是服務(wù)器。為了傳輸數(shù)據(jù),首先要設(shè)置客戶計(jì)算機(jī)的 localport 屬性。然后,服務(wù)器計(jì)算機(jī)只需將 remotehost 設(shè)置為客戶計(jì)算機(jī)的 internet 地址,并將 remoteport 屬性設(shè)置為跟客戶計(jì)算機(jī)的 localport 屬性相同的端口,并調(diào)用 senddata 方法來著手發(fā)送信息。于是,客戶計(jì)算機(jī)使用 dataarrival 事件內(nèi)的 getdata 方法來獲取已發(fā)送的信息。3 需求分析3.1 系統(tǒng)概貌簡單遠(yuǎn)程控制系統(tǒng)包含被控端和主控端兩部分。被控端是運(yùn)行在受控計(jì)算機(jī)上的一個(gè)程序。當(dāng)運(yùn)行主控端程序后將其設(shè)置成功,被控端通過輸入主控端的ip地址,并利用winsock控件來實(shí)現(xiàn)被控端與主控端的連接,然后通過主控端向被控端發(fā)送命令,被控端響應(yīng)主控端的命令來實(shí)現(xiàn)相應(yīng)的功能。 主控端提供了一個(gè)集控制功能為一體的可視化界面,其作用是發(fā)送命令來實(shí)現(xiàn)對(duì)被控端的控制,該窗體包含了具有不同功能的按鈕,如:消息發(fā)送按鈕、隱藏任務(wù)欄按鈕、關(guān)閉計(jì)算機(jī)按鈕等。通過對(duì)這些按鈕的相應(yīng)操作,來實(shí)現(xiàn)對(duì)被控端的控制。3.2 功能要求本系統(tǒng)在功能要求上主要實(shí)現(xiàn)的功能有:主控端獲取被控端計(jì)算機(jī)系統(tǒng)信息、對(duì)被控端界面的控制、對(duì)被控端的系統(tǒng)控制以及對(duì)向被控端發(fā)送消息。1主控端獲取被控端系統(tǒng)信息。此模塊的主要功能是主控端能通過此功能了解到被控計(jì)算機(jī)上的系統(tǒng)信息,為后面進(jìn)一步的對(duì)被控端進(jìn)行控制作一個(gè)簡單的了解,也同時(shí)通過此功能對(duì)被控計(jì)算機(jī)上所安裝的軟、硬件進(jìn)行了解,做到對(duì)被控計(jì)算機(jī)的了解程度跟了解本機(jī)一樣。2對(duì)被控端的界面控制。此模塊主要實(shí)現(xiàn)主控端對(duì)被控計(jì)算機(jī)的用戶界面的控制,包括對(duì)開始按鈕的隱藏以及顯示、任務(wù)欄的隱藏以及顯示和桌面圖標(biāo)的隱藏和顯示功能。3對(duì)被控端的系統(tǒng)控制。此模塊主要實(shí)現(xiàn)對(duì)被控計(jì)算機(jī)的機(jī)器系統(tǒng)的控制,包括對(duì)被控計(jì)算機(jī)實(shí)施關(guān)閉計(jì)算機(jī)、重新啟動(dòng)被控端計(jì)算機(jī)以及注銷被控端計(jì)算機(jī)目前使用的用戶功能。做到使主控端用戶在主控計(jì)算機(jī)上就能很容易的控制被控計(jì)算機(jī)的系統(tǒng)。4向被控端發(fā)送信息。此模塊主要實(shí)現(xiàn)主控計(jì)算機(jī)向被控計(jì)算機(jī)發(fā)送文字性消息的功能,有了此功能模塊的建立,主控端用戶可以在本機(jī)上向被控端用戶傳遞信息和發(fā)送消息,做到了主控端的用戶與被控端用戶的聯(lián)系。3.3 主控端設(shè)計(jì)思路主控端主要是發(fā)送各種控制命令給被控端,控制被控端實(shí)現(xiàn)各種控制功能。當(dāng)程序運(yùn)行時(shí)首先要進(jìn)行主控端的設(shè)置,本系統(tǒng)采用了人性化的設(shè)計(jì),調(diào)用了winsock控件,所以用戶不需要自己來設(shè)置端口,只要鼠標(biāo)點(diǎn)擊“設(shè)置主控端”按鈕就可以完成主控端的設(shè)置。設(shè)置成功后,系統(tǒng)提示設(shè)置成功,進(jìn)入監(jiān)聽狀態(tài), 等待被控端發(fā)送連接請(qǐng)求,接收到連接請(qǐng)求后建立連接。主控端便可以實(shí)現(xiàn)對(duì)被控端的控制和消息的發(fā)送了。主控端分為兩大部分如圖1所示。第一個(gè)部分是操作部分,主要分為系統(tǒng)設(shè)置、被控端信息、系統(tǒng)控制、發(fā)送消息和界面控制五部分。第二部分是信息欄顯示,當(dāng)主控端程序運(yùn)行時(shí)會(huì)顯示主機(jī)的ip地址和主機(jī)名,而當(dāng)連接建立后,信息欄會(huì)顯示被控端的ip地址。主控端操作 信息欄主控端設(shè)置被控端信息系統(tǒng)控制發(fā)送消息 界面控制 主控端ip地址主控端主機(jī)名被控端ip地址圖1 主控端結(jié)構(gòu)3.4 性能要求主控端界面應(yīng)當(dāng)簡單、友好、方便使用和操作;被控端是用作運(yùn)行在被控計(jì)算機(jī)內(nèi)的可執(zhí)行文件,為提高執(zhí)行速度,從客戶端發(fā)送到服務(wù)端的信息應(yīng)盡量的少。主控端與被控端之間通過使用tcp協(xié)議建立連接,以實(shí)現(xiàn)對(duì)被控計(jì)算機(jī)的控制。3.5 運(yùn)行要求設(shè)計(jì)出的簡單遠(yuǎn)程控制軟件應(yīng)當(dāng)在現(xiàn)在使用的大量操作系統(tǒng)上都能運(yùn)行。例如:windows 2000、windows xp、windows 2003;能在較低的硬件配置上運(yùn)行,如128m的內(nèi)存,amd 1800+的處理器。4 主控端及部分被控端設(shè)計(jì)與實(shí)現(xiàn)4.1 簡單遠(yuǎn)程控制系統(tǒng)結(jié)構(gòu)設(shè)計(jì)4.1.1 簡單遠(yuǎn)程控制系統(tǒng)的結(jié)構(gòu)本系統(tǒng)主要是由主控端與被控端兩部分組成的。主控端為用戶提控進(jìn)行遠(yuǎn)程控制的操作平臺(tái),負(fù)責(zé)發(fā)送命令給被控端和接收被控端的信息。被控端是用戶控制的目標(biāo),接收到主控端命令后,被控端會(huì)分析數(shù)據(jù)然后調(diào)用函數(shù)執(zhí)行命令。兩個(gè)部分是通過winsock控件建立連接的,是基于tcp協(xié)議的點(diǎn)對(duì)點(diǎn)的通信。因?yàn)閍pi函數(shù)的關(guān)系,用戶不需要自己來設(shè)置端口,大大的方便了用戶的操作。系統(tǒng)框架如圖2所示。圖2系統(tǒng)框架圖4.1.2 簡單遠(yuǎn)程控制系統(tǒng)的功能模塊發(fā)送文字消息遠(yuǎn)程控制系統(tǒng)主控端被控端設(shè)置主控端獲取被控端消息被控端系統(tǒng)控制發(fā)送連接請(qǐng)求獲取命令并執(zhí)行控制被控端桌面圖3 系統(tǒng)功能結(jié)構(gòu)圖系統(tǒng)的操作功能主要分為四大模塊如圖所示。分別是:1、獲取被控計(jì)算機(jī)系統(tǒng)信息模塊:主控電腦獲得被控電腦的主要信息,主要包括可用的實(shí)際內(nèi)存大小、系統(tǒng)版本號(hào)、處理器序號(hào)、鼠標(biāo)的按鈕個(gè)數(shù)和盤的文件系統(tǒng)類型等信息。、系統(tǒng)控制模塊:實(shí)現(xiàn)被控端計(jì)算機(jī)關(guān)機(jī)、注銷、重起功能。、發(fā)送消息模塊:主控端與被控端進(jìn)行簡單的文字對(duì)話。、界面控制模塊:隱藏或顯示被控端開始按鈕、任務(wù)欄與桌面圖像。4.2 系統(tǒng)功能的實(shí)現(xiàn)4.2.1 主控端界面主控端程序是用vb語言開發(fā)的,它擁有一個(gè)主界面(如圖所示)和若干小功能窗體,整個(gè)主控端界面非常簡單,它將系統(tǒng)功能清晰的展現(xiàn)在用戶面前,給用戶提供了非常方便的操作。圖4 主控端程序界面界面上各個(gè)功能按鈕是建立command數(shù)組利用選擇函數(shù)與各個(gè)功能模塊相連接的,鼠標(biāo)單擊按鈕會(huì)彈出相對(duì)應(yīng)的功能窗體如表1所示,實(shí)現(xiàn)對(duì)被控端的各種控制功能。每個(gè)子窗體有相應(yīng)的功能按鈕來具體控制被控端計(jì)算機(jī)實(shí)現(xiàn)相應(yīng)功能,如表2所示。在主界面上還添加了timer控件和winsock控件,雖然是后臺(tái)運(yùn)行但是它們有著非常重要的功能,缺一不可。特別是winsock控件,它是連接被控段與主控端之間的橋梁。表1 command數(shù)組與功能模塊關(guān)系主窗體按鈕功能mainformcommand1(0)彈出界面控制窗體command1(1)設(shè)置計(jì)算機(jī)為主控端command1(2)彈出獲取被控端信息窗體command1(3)探出系統(tǒng)控制窗體command1(4)彈出消息發(fā)送窗體command1(5)退出系統(tǒng)表2 子窗體按鈕功能子窗體按鈕功能獲取被控端信息獲取信息獲取被控端信息并顯示信息退出退出獲取信息窗體系統(tǒng)控制窗體關(guān)閉計(jì)算機(jī)關(guān)閉被控端計(jì)算機(jī)注銷計(jì)算機(jī)注銷被控端計(jì)算機(jī)重起計(jì)算機(jī)重新啟動(dòng)被控端計(jì)算機(jī)界面控制窗體隱藏開始按鈕隱藏被控端開始按鈕隱藏任務(wù)欄隱藏被控端任務(wù)欄隱藏桌面隱藏被控端桌面顯示開始按鈕顯示被控端開始按鈕顯示任務(wù)欄顯示被控端任務(wù)欄顯示桌面顯示被控端桌面消息發(fā)送窗體文本框傳輸并顯示文字信息發(fā)送發(fā)送文字消息到被控端退出退出消息發(fā)送窗體4.2.2 功能實(shí)現(xiàn)過程本系統(tǒng)的所有功能的實(shí)現(xiàn)都是建立在主控端與被控端之間連接基礎(chǔ)之上的。主控端與被控端的連接是通過使用winsock控件建立的,是基于tcp/ip協(xié)議進(jìn)行點(diǎn)對(duì)點(diǎn)的通信。系統(tǒng)在建立連接前必須先設(shè)置計(jì)算機(jī)為主控計(jì)算機(jī),系統(tǒng)編程時(shí)因?yàn)檎{(diào)用了winsock控件,程序會(huì)自動(dòng)設(shè)置localport屬性,作為監(jiān)聽端口,這個(gè)值為一個(gè)整數(shù),只要是一個(gè)其他tcp/ip應(yīng)用程序沒有使用過的值即可,本系統(tǒng)中主控端使用的是1007。然后使用listen方法進(jìn)入監(jiān)聽狀態(tài),等待被控端的連接請(qǐng)求。被控端程序發(fā)出連接請(qǐng)求,使主控端程序產(chǎn)生connectionrequest事件,該時(shí)間得到一個(gè)參數(shù)requestid,主控端程序用accept方法接受被控端程序的requestid請(qǐng)求。這樣,主控端程序就可以用senddata方法發(fā)送數(shù)據(jù)了。accept方法必須用上一步得到的requestid作為其參數(shù)。當(dāng)主控端程序接收到數(shù)據(jù)時(shí),產(chǎn)生dataarrival事件,參數(shù)bytestotal包含接收到的數(shù)據(jù)字節(jié)數(shù)。在該事件中可以使用getdata方法接收數(shù)據(jù)。如果接受到close事件,則用close方法關(guān)閉tcp/ip連接。本人在系統(tǒng)開發(fā)中主要負(fù)責(zé)主控端和獲取被控端系統(tǒng)信息功能模塊的設(shè)計(jì)(包含被控端部分),由于系統(tǒng)的功能必須有主控端和被控端一起來實(shí)現(xiàn),下面的內(nèi)容在介紹主控端功能時(shí),同樣會(huì)介紹被控端。 4.2.3 系統(tǒng)控制功能的實(shí)現(xiàn)本系統(tǒng)在此模塊中設(shè)計(jì)為當(dāng)主控端把控制指令(關(guān)機(jī)、重起、注銷)數(shù)據(jù)發(fā)送給被控端后,被控端接收到這些指令,則進(jìn)行相應(yīng)的操作。一般說來如果被控端收到這些指令則調(diào)用相應(yīng)的api函數(shù)。在使用界面上運(yùn)用了選項(xiàng)按鈕控件optionbutton,在主控端程序中使用了程序控制結(jié)構(gòu)語句ifthenelse,應(yīng)用程序中可以經(jīng)過條件表達(dá)式的測試,并根據(jù)測試結(jié)果為true和false來決定程序運(yùn)行的方向,只有當(dāng)滿足ture條件時(shí)才會(huì)進(jìn)行下個(gè)程序流程,否則執(zhí)行另一個(gè)程序流程。例如當(dāng)主控端測試結(jié)果為reboot時(shí),主控端向被控端發(fā)送參數(shù)reboot,被控端根據(jù)參數(shù)調(diào)用函數(shù)call shell并觸發(fā)事件過程重起被控端計(jì)算機(jī)。這里調(diào)用的shell函數(shù)是vb中的內(nèi)部函數(shù),它負(fù)責(zé)執(zhí)行一個(gè)可執(zhí)行文件,返回一個(gè)variant(double),如果成功的話,代表這個(gè)程序的進(jìn)程id,若不成功,則會(huì)返回0。shell的語法:shell(pathname,windowstyle)。主要代碼如下:private sub command1_click()if option1(0).value = true thenmainform.scksever.senddata closecuelseif option1(1).value = true thenmainform.scksever.senddata rebootelsemainform.scksever.senddata logoffend ifend sub在被控端的聲明sckclient_dataarrival()函數(shù)部分寫入如下代碼:case closecu 關(guān)機(jī)call shell(shutdown -s -f)case reboot 重起call shell(shutdown -r -f)case logoff 注銷call shell(shutdown -l -f) endend selectend sub實(shí)現(xiàn)系統(tǒng)控制如圖5所示:圖 5 系統(tǒng)控制界面與“系統(tǒng)控制”相同,主控端在單擊別的操作按鈕時(shí)也執(zhí)行相應(yīng)的函數(shù),發(fā)送相應(yīng)的命令,被控端收到數(shù)據(jù)后,首先解包獲取命令代碼,再根據(jù)命令調(diào)圖6 功能執(zhí)行流程圖用對(duì)應(yīng)的操作函數(shù),執(zhí)行相關(guān)語句產(chǎn)生相應(yīng)效果。大致過程如圖6所示。4.2.4 發(fā)送消息功能的實(shí)現(xiàn)本系統(tǒng)在發(fā)送消息模塊中使用msgbox控件,調(diào)用sendmessage函數(shù)來實(shí)現(xiàn)文字聊天功能。當(dāng)主控端在發(fā)送信息窗體中輸入信息,點(diǎn)擊command1控件按鈕時(shí),觸發(fā)command1_click()事件過程,發(fā)送參數(shù)sendif給被控端,當(dāng)被控端收到參數(shù)后觸發(fā)被控端的command1_click()事件并彈出消息文本對(duì)話框顯示由主控端發(fā)送過來的信息text1.text。其主要代碼如下:private sub command1_click()主控端mainform.scksever.senddata sendinf & sendtxt.textend subprivate sub command1_click()被控端connectform.sckclient.senddata sendinf & text1.textend sub實(shí)現(xiàn)效果圖如7所示圖7主控端向被控端發(fā)送消息的效果圖4.2.5 界面控制功能的實(shí)現(xiàn)本系統(tǒng)在此模塊中調(diào)用findwindow 和showwindow 等函數(shù),實(shí)現(xiàn)對(duì)被控圖8 界面控制窗體端的桌面圖標(biāo)、開始按鈕、任務(wù)欄的隱藏和顯示的功能。在主控端屏幕控制功能窗體中添加七個(gè)command按鈕,分別是隱藏開始按鈕、顯示開始按鈕、隱藏任務(wù)欄、顯示任務(wù)欄、隱藏桌面、顯示桌面和退出(圖8)。用戶點(diǎn)擊各個(gè)功能按鈕時(shí)發(fā)送命令函數(shù)給被控端,實(shí)現(xiàn)屏幕控制功能。命令代碼如表3。表3功能按鈕與命令按鈕名稱命令函數(shù)隱藏開始按鈕mainform.scksever.senddata hidstar顯示開始按鈕mainform.scksever.senddata appstar隱藏任務(wù)欄mainform.scksever.senddata hidtask顯示任務(wù)欄mainform.scksever.senddata nothidt隱藏桌面mainform.scksever.senddata hiddisk顯示桌面mainform.scksever.senddata nohiddi退出unload me在被控端connectform窗體中添加函數(shù)代碼,利用選擇函數(shù)激發(fā)事件,當(dāng)被控端收到主控端命令后,便產(chǎn)生相應(yīng)的效果。表4中是被控端命令代碼和相應(yīng)的操作函數(shù)。表4命令代碼與函數(shù)命令代碼操作函數(shù)hidstarshowwindow wnd, sw_hideappstarshowwindow wnd, sw_showhidtaskshowwindow wnd, sw_hidenothidtshowwindow wnd, sw_showhiddiskshowwindow wnd, sw_hidenohiddishowwindow wnd, sw_show被控端與主控端建立連接后,主控端用戶鼠標(biāo)單擊“界面控制”按鈕,系統(tǒng)彈出界面控制窗體(圖8)。當(dāng)用戶點(diǎn)擊隱藏開始按鈕時(shí),被控端即發(fā)送命令hidstar給被控端。被控端接收到命令后,執(zhí)行命令隱藏開始按鈕。圖9 showwindow函數(shù)主要參數(shù)在這里主要調(diào)用了api中的showwindow函數(shù)來實(shí)現(xiàn)被控端界面的隱藏和顯示功能。 主要參數(shù)如圖9所示。因?yàn)槊畲a的格式基本相同下面進(jìn)行以“隱藏開始按鈕”為例說明,具體命令如表3與表4所示?!?”后為代碼的注釋。寫入被控端的代碼如下:private sub command1_click()mainform.scksever.senddata hidstarend sub/定義command1按鈕,當(dāng)用戶點(diǎn)擊按鈕時(shí)發(fā)送隱藏開始命令hidstar給被控端。寫入被控端的代碼如下:case hidstar /接收hidstar命令后,激發(fā)隱藏開始按鈕事件 wnd = findwindowex(wnd, 0, sstartbutton, vbnullstring) /利用findwindow函數(shù)獲得窗口句柄 showwindow wnd, sw_hide /利用showwindow函數(shù)實(shí)現(xiàn)隱藏開始按鈕功能點(diǎn)擊不同的按鈕系統(tǒng)會(huì)發(fā)送相應(yīng)的命令函數(shù),顯示功能是相對(duì)于隱藏功能而言的,只有使用了隱藏功能后才可以使用顯示功能將畫面顯示出來。單方面的點(diǎn)擊顯示功能,被控端窗口顯示毫無變化。4.3 部分被控端程序功能的實(shí)現(xiàn)4.3.1 被控端的連接被控端程序在與主控端程序建立連接時(shí)首先設(shè)置remotehost屬性,指定運(yùn)行主控端程序的主機(jī)名,設(shè)置remoteport 屬性,指定主控端程序的監(jiān)聽端口。然后在主控端設(shè)置成功的前提下向主控端發(fā)送連接請(qǐng)求。主控端接收并通過被控端的請(qǐng)求,建立連接,就可以用senddata方法發(fā)送數(shù)據(jù)了。當(dāng)被控端程序接收到數(shù)據(jù)時(shí),發(fā)生dataarrival事件,參數(shù)bytestotal包含接收到的數(shù)據(jù)字節(jié)數(shù)。該事件中,可以用getdata方法接收數(shù)據(jù),如果接收到close事件,則用close方法關(guān)閉連接。被控端工作流程如圖10所示。n y 請(qǐng)求連接建立連接有用戶控制?獲取并發(fā)送指令結(jié)束開始圖10 被控端工作流程圖4.3.2 獲取被控端信息功能的實(shí)現(xiàn)前面幾個(gè)功能模塊是和周睿同學(xué)分工合作開發(fā)的,本人主要是主控端的開發(fā),周睿同學(xué)負(fù)責(zé)被控端部分的開發(fā),而獲取被控端信息功能是作者獨(dú)自完成的。本系統(tǒng)在此模塊中通過使用sysinfo控件的使用檢測系統(tǒng)事件,例如被控端計(jì)算機(jī)的系統(tǒng)版本號(hào)、系統(tǒng)類型、內(nèi)存狀況、系統(tǒng)盤信息等。將模塊代碼寫如sysinfo()函數(shù)中后,當(dāng)主控端command1按鈕被按下后,觸發(fā)click事件,主控端發(fā)送參數(shù)getsyst到被控端后,被控端以getsyst作為套接字字符串,采用dataarriral事件,當(dāng)獲得調(diào)用中的全部數(shù)據(jù)getdata事件被觸發(fā),向主控端發(fā)送被控端系統(tǒng)信息。在這里調(diào)用了以下api函數(shù)來實(shí)現(xiàn)系統(tǒng)功能如表5所示。表5 api函數(shù)與功能api函數(shù)名實(shí)現(xiàn)功能getcomputername獲得計(jì)算機(jī)名稱globalmemorystatus獲得當(dāng)前可用的物理和虛擬內(nèi)存信息getwindowsdirectory獲得windows系統(tǒng)路徑getversionex檢索windows版本信息getvolumeinformation獲得分區(qū)信息getlogicaldrivestrings獲得邏輯驅(qū)動(dòng)器盤符其具體代碼如下:public function sysinfo() as stringdim sys as system_info dim m as memorystatus 內(nèi)存狀態(tài)dim v as osversioninfo 版本信息dim vname$, fsname$, strsave$, tmp$, tcd as string * 30dim serial as long 序列號(hào)globalmemorystatus m 內(nèi)存情況v.dwosversioninfosize = len(v) 版本信息getversionex vvname = space(255)fsname = space(255)getvolumeinformation c:, vname, 255, serial, 0, 0, fsname, 255 獲得容量vname = stripnulls(vname)fsname = stripnulls(fsname)tmp = space(255)getlogicaldrivestrings 255, tmp 獲得所有驅(qū)動(dòng)器信息for a = asc(a) to asc(z)if instr(tmp, chr(a) & :) thenstrsave = strave & iif(stsave , , ) & chr(a)end ifnext agetsysteminfo sys 獲得cpu信息返回信息s = 實(shí)際內(nèi)存大小為: & m.dwtotalphys 1024 2 & mbs = s & vbcrlf & 可用的實(shí)際內(nèi)存大小為: & m.dwavailphys 1024 2 & mbs = s & vbcrlf & 虛擬內(nèi)存大小為: & m.dwtotalvirtual 1024 2 & mbs = s & vbcrlf & 可用虛擬內(nèi)存大小為: & m.dwavailvirtual 1024 2 & mbs = s & vbcrlf & 以用內(nèi)存大小為: & (m.dwtotalphys - m.dwavailphys) 1024 2 & mbs = s & vbcrlf & vbcrlf & 系統(tǒng)版本號(hào)為: & v.dwmajorversion & . & v.dwminorversions = s & vbcrlf & 系統(tǒng)類型 : & iif(v.dwplatformid = 1, 95/98/me, nt/2000)s = s & vbcrlf & vbcrlf & 處理器類型: & sys.dwprocessortypes = s & vbcrlf & 處理器序號(hào): & sys.dwnumberofprocessorss = s & vbcrlf & vbcrlf & 鼠標(biāo)的按鈕個(gè)數(shù)為: & getsystemmetrics(43)s = s & vbcrlf & vbcrlf & c盤的文件系統(tǒng): & fsnames = s & vbcrlf & c盤的卷標(biāo)名為: & vnames = s & vbcrlf & c盤的序列號(hào)為: & serials = s & vbcrlf & 其他盤還有: & strsavesysinfo = s實(shí)現(xiàn)效果圖如圖11所示:圖11 獲取被空端信息效果圖5 測試5.1 測試環(huán)境處于同一局域網(wǎng)的兩臺(tái)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 滬科版八年級(jí)物理全一冊(cè)《2.2聲音的特性》同步測試題帶答案
- 人教版一年級(jí)下冊(cè)語文教案
- 新課標(biāo)人教版初中七年級(jí)上冊(cè)數(shù)學(xué)教案
- 考慮風(fēng)險(xiǎn)約束的資產(chǎn)配置策略實(shí)證研究
- 英語四級(jí)詞匯
- 高一化學(xué)第一單元從實(shí)驗(yàn)學(xué)化學(xué)第二講化學(xué)計(jì)量在實(shí)驗(yàn)中的應(yīng)用練習(xí)題
- 2024高中地理第4章區(qū)域經(jīng)濟(jì)發(fā)展第1節(jié)第1課時(shí)東北地區(qū)農(nóng)業(yè)發(fā)展的地理?xiàng)l件和農(nóng)業(yè)布局精練含解析新人教版必修3
- 2024高中物理第二章勻變速直線運(yùn)動(dòng)的研究1實(shí)驗(yàn):探究小車速度隨時(shí)間變化的規(guī)律課后作業(yè)含解析新人教版必修1
- 2024高中語文第一課走進(jìn)漢語的世界第1節(jié)美麗而奇妙的語言-認(rèn)識(shí)漢語練習(xí)含解析新人教版選修語言文字應(yīng)用
- 2024高中語文第四單元?jiǎng)?chuàng)造形象詩文有別自主賞析庖丁解牛學(xué)案新人教版選修中國古代詩歌散文欣賞
- 開展課外讀物負(fù)面清單管理的具體實(shí)施舉措方案
- 中國骨關(guān)節(jié)炎診療指南(2024版)解讀
- 2025年內(nèi)蒙古包鋼集團(tuán)公司招聘筆試參考題庫含答案解析
- 企業(yè)內(nèi)訓(xùn)師培訓(xùn)師理論知識(shí)考試題庫500題(含各題型)
- 集裝箱貨運(yùn)碼頭的火災(zāi)防范措施
- 七年級(jí)數(shù)學(xué)上冊(cè)專題1.14數(shù)軸與絕對(duì)值綜合問題大題專練(重難點(diǎn)培優(yōu))-【講練課堂】2022-2023學(xué)年七年級(jí)數(shù)學(xué)上冊(cè)尖子生同步培優(yōu)題典(原卷版)【人教版】
- 社會(huì)保險(xiǎn)職工增減表
- 小學(xué)語文低年級(jí)寫話 鴿子
- 仁愛英語八年級(jí)上冊(cè)詞匯練習(xí)題全冊(cè)
- 報(bào)價(jià)單模板及范文(通用十二篇)
- 標(biāo)準(zhǔn)內(nèi)包骨架油封規(guī)格及公差
評(píng)論
0/150
提交評(píng)論