vc++實(shí)現(xiàn)對(duì)遠(yuǎn)程計(jì)算機(jī)屏幕監(jiān)視

vc++實(shí)現(xiàn)對(duì)遠(yuǎn)程計(jì)算機(jī)屏幕監(jiān)視

ID:19778935

大?。?3.00 KB

頁(yè)數(shù):8頁(yè)

時(shí)間:2018-10-06

vc++實(shí)現(xiàn)對(duì)遠(yuǎn)程計(jì)算機(jī)屏幕監(jiān)視_第1頁(yè)
vc++實(shí)現(xiàn)對(duì)遠(yuǎn)程計(jì)算機(jī)屏幕監(jiān)視_第2頁(yè)
vc++實(shí)現(xiàn)對(duì)遠(yuǎn)程計(jì)算機(jī)屏幕監(jiān)視_第3頁(yè)
vc++實(shí)現(xiàn)對(duì)遠(yuǎn)程計(jì)算機(jī)屏幕監(jiān)視_第4頁(yè)
vc++實(shí)現(xiàn)對(duì)遠(yuǎn)程計(jì)算機(jī)屏幕監(jiān)視_第5頁(yè)
資源描述:

《vc++實(shí)現(xiàn)對(duì)遠(yuǎn)程計(jì)算機(jī)屏幕監(jiān)視》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、VC++實(shí)現(xiàn)對(duì)遠(yuǎn)程計(jì)算機(jī)屏幕的監(jiān)視摘要:本文介紹了一種通過(guò)套接字網(wǎng)絡(luò)編程和屏幕捕獲技術(shù)實(shí)現(xiàn)的對(duì)遠(yuǎn)程計(jì)算機(jī)屏幕進(jìn)行監(jiān)視的方法?! £P(guān)鍵詞:套接字;屏幕捕捉;遠(yuǎn)程監(jiān)視;網(wǎng)絡(luò)  前言  在實(shí)際工程中,經(jīng)常有施工現(xiàn)場(chǎng)和控制中心不在一起的情況,在這種情況一般多由工程技術(shù)人員往返穿梭其間來(lái)實(shí)現(xiàn)對(duì)遠(yuǎn)程施工現(xiàn)場(chǎng)的情況了解和對(duì)控制中心的矯正控制。顯然這種工作方式的效率是很低下的,沒(méi)有充分發(fā)揮計(jì)算機(jī)網(wǎng)絡(luò)的強(qiáng)大優(yōu)勢(shì),其實(shí)通過(guò)網(wǎng)絡(luò)編程完全可以使技術(shù)人員在控制中心對(duì)位于工程現(xiàn)場(chǎng)的遠(yuǎn)程計(jì)算機(jī)實(shí)施監(jiān)視和控制。雖然互聯(lián)網(wǎng)上有不少遠(yuǎn)程終端控制軟件如"超級(jí)間諜"、"冰河"等,

2、但由于其帶有黑軟的性質(zhì),不能保證其在編程時(shí)沒(méi)有留有其他后門,因此從計(jì)算機(jī)安全的角度出發(fā)應(yīng)當(dāng)自行開發(fā)此類軟件。為避免本文所述技術(shù)被用于制造黑客類軟件,本文將不準(zhǔn)備對(duì)遠(yuǎn)程終端的控制部分做進(jìn)一步的介紹,而將重點(diǎn)放在對(duì)遠(yuǎn)程計(jì)算機(jī)屏幕界面的監(jiān)視上。1數(shù)據(jù)信息在網(wǎng)絡(luò)上的傳送  由于本地計(jì)算機(jī)是通過(guò)網(wǎng)絡(luò)來(lái)對(duì)遠(yuǎn)程計(jì)算機(jī)實(shí)施監(jiān)控,因此需要對(duì)網(wǎng)卡進(jìn)行編程以實(shí)現(xiàn)往來(lái)于雙方的數(shù)據(jù)信息在網(wǎng)絡(luò)上的順暢通訊??晒┻x擇的方案有套接字、郵槽、命名管道等多種,本文在此選用開發(fā)和應(yīng)用都比較靈活的流式套接字作為網(wǎng)絡(luò)通訊的基礎(chǔ)??紤]到實(shí)際情況,遠(yuǎn)程被監(jiān)視主機(jī)隨時(shí)為本地監(jiān)控主機(jī)提供屏

3、幕信息的服務(wù),因此整個(gè)系統(tǒng)可以劃分為兩大模塊--服務(wù)器端和客戶機(jī)端,分別運(yùn)行于遠(yuǎn)程主機(jī)和本地監(jiān)控主機(jī),由客戶機(jī)向服務(wù)器發(fā)出連接請(qǐng)求,在建立連接后由服務(wù)器定時(shí)發(fā)送遠(yuǎn)程屏幕信息給客戶機(jī),客戶機(jī)接收到服務(wù)器發(fā)來(lái)的數(shù)據(jù)后將其顯示在本地主機(jī)。  至于用流式套接字對(duì)網(wǎng)絡(luò)進(jìn)行編程的主要過(guò)程可用下圖來(lái)表示。服務(wù)器方在使用套接字之前,首先必須擁有一個(gè)Socket,可用socket()函數(shù)創(chuàng)建之:sock=socket(AF_INET,SOCK_STREAM,0);  其中AF_INET和SOCK_STREAM指定了創(chuàng)建的是采用了TCP/IP地址族的流式套接字

4、。該套接字實(shí)際上是提供了一個(gè)通信端口,通過(guò)這個(gè)端口可與任何一個(gè)具有套接字端口的計(jì)算機(jī)實(shí)施通信。一旦獲取了新的套接字,應(yīng)立即通過(guò)bind()將該套接字與本機(jī)上的一個(gè)端口建立關(guān)聯(lián)。需要預(yù)先對(duì)一個(gè)指向包含有本機(jī)IP地址和端口信息的sockaddr_in結(jié)構(gòu)填充一些必要的信息,如本地端口號(hào)和本地主機(jī)地址等,并通過(guò)bind()將服務(wù)器進(jìn)程在網(wǎng)絡(luò)上標(biāo)識(shí)出來(lái):sockin_s.sin_family=AF_INET;sockin_s.sin_addr.s_addr=0;sockin_s.sin_port=htons(PORT);bind(sock,(LPS

5、OCKADDR)&sockin_s,sizeof(sockin_s));  在完成接下來(lái)的listen()偵聽(tīng)后,需要用accept()等待接收客戶端的連接,由于該函數(shù)在沒(méi)有客戶端進(jìn)行申請(qǐng)連接之前會(huì)處于阻塞狀態(tài),因此需要為其單獨(dú)開辟一個(gè)線程,以免影響到程序整體:AfxBeginThread(Server,NULL);//創(chuàng)建一個(gè)新的線程……UINTServer(LPVOIDlpVoid){ CSurveillant_ServerView*pView=((CSurveillant_ServerView*)((CFrameWnd*) AfxGe

6、tApp()->m_pMainWnd)->GetActiveView()); intnLen=sizeof(SOCKADDR); pView->newskt_s=accept(pView->sock,(LPSOCKADDR)&pView->sockin_s,(LPINT)&nLen); WSAAsyncSelect(pView->newskt_s,pView->m_hWnd,WM_MSG,FD_CLOSE); pView->SetTimer(0,2500,NULL); return1;}  在這里通過(guò)WSAAsyncSelect()異步選擇

7、函數(shù)來(lái)以異步的形式響應(yīng)關(guān)心的網(wǎng)絡(luò)事件FD_CLOSE,并在該事件發(fā)生時(shí)發(fā)出自定義WM_MSG消息,通過(guò)響應(yīng)這個(gè)消息可以得之當(dāng)前與服務(wù)器聯(lián)系的客戶機(jī)程序已關(guān)閉退出,由于服務(wù)器部分是運(yùn)行于遠(yuǎn)程工程現(xiàn)場(chǎng)的,為了使控制中心的監(jiān)控程序(客戶)在下次發(fā)出監(jiān)控請(qǐng)求時(shí)能為其提供服務(wù)需要在WM_MSG的消息響應(yīng)函數(shù)里關(guān)閉由accept()所產(chǎn)生的新的套接字newskt_s,并重新啟動(dòng)該線程等待監(jiān)控程序的再次連接。在accept()函數(shù)成功返回后,就可以在定時(shí)器響應(yīng)函數(shù)里用send()函數(shù)與之建立了連接的監(jiān)控主機(jī)定時(shí)發(fā)送捕獲的遠(yuǎn)程屏幕信息了?! ∽鳛榭蛻舻谋O(jiān)控

8、程序,其實(shí)現(xiàn)過(guò)程要比服務(wù)器簡(jiǎn)單許多。由于需要接收數(shù)據(jù),因此在異步選擇函數(shù)中需要設(shè)定待監(jiān)測(cè)的網(wǎng)絡(luò)事件為FD_CLOSE和FD_READ。在消息響應(yīng)函數(shù)中可以通過(guò)對(duì)消息參數(shù)的低位字節(jié)

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。