【正文】
p。(3)改寫對話框的PreTranslateMessage虛方法,當(dāng)焦點(diǎn)在編輯框中時(shí)按Enter鍵 將控制焦點(diǎn)移動。設(shè)置主要控件屬性如表4所示。 //調(diào)用父類的OnCancel方法關(guān)閉對話框}主窗體設(shè)計(jì)界面如圖8所示。 //釋放緩沖區(qū) delete[]m_TempData。Void CServerDlg::OnCancel(){m_BmpData=m_Header。ON_COMMAND_RANGE(IDC_BTUP,IDC_BTUP,IDC_BTRESTORE,OnButtonDown)(10)在對話框初始化時(shí)創(chuàng)建并綁定套接字,從數(shù)據(jù)庫中讀取客戶端IP。ON_MESSAGE(CM_RECEIVED,OnReceived)(8)向?qū)υ捒蛑刑砑覱nButtonDown方法,用于向客戶端發(fā)送控制指令。在數(shù)據(jù)接收后,想客戶端發(fā)送確認(rèn)信息。define CM_RECEIVED WM_USER+1001(5)向?qū)υ捒蛑刑砑覵howImage方法,顯示位圖數(shù)據(jù)。 //位圖在屏幕中的X軸坐標(biāo)WORD m_LeftTOPY。 //客戶端IPUINT m_ClientPort。 //記錄位圖大小int m_RecSize。 //臨時(shí)指針BOOL m_ShowBmp。 //位圖數(shù)據(jù)指針char* m_TempData。SOCKET m_Soxket 。(2)向?qū)υ捒蛑刑砑?個(gè)按鈕控件、2個(gè)群組框控件、1個(gè)圖像控件,設(shè)置控件屬性如表3所示。}系統(tǒng)登錄模塊設(shè)計(jì)界面如圖7所示。(5)處理“取消”按鈕的單擊事件,以IDCANCEL標(biāo)示結(jié)束對話框。(4)處理“登錄”按鈕的單擊事件,驗(yàn)證用戶名和密碼是否正確。表2 系統(tǒng)登錄窗體用到的主要控件控件資源ID主要屬性設(shè)置用 途IDC_USERNAME無輸入登錄用戶名IDC_PASSWORDPassword屬性為TRUE輸入登錄用戶密碼(2)按Ctrl+W組合鍵打開MFC ClassWizard對話框,選擇Member Variables選項(xiàng)卡,為控件命名??蛻舳嗽O(shè)計(jì)界面如圖6所示。(11)處理對話框WM_TIMER消息,在發(fā)送數(shù)據(jù),如果5秒內(nèi)沒有收到服務(wù)器端的確認(rèn)信息,發(fā)起當(dāng)前位圖的發(fā)送,重新抓取屏幕位圖發(fā)送。(9)想對話框中添加OnReceived方法,用于接收服務(wù)器端發(fā)來的確認(rèn)信息或控制信息。define CM_RECEIVED WM_USER+2define GraphSize 1024(7)在對話框初始化時(shí)創(chuàng)建套接字,將其綁定到指定的位置,并初始化相應(yīng)的成員變量。}(5)在對話框類中添加成員變量。int CClientApp::ExitInstance(){WSACleanup()。data)。WSADATA data。(2)。4 詳細(xì)設(shè)計(jì) 客戶端設(shè)計(jì) 客戶端實(shí)現(xiàn)過程 客戶端的主要功能是抓取屏幕信息,將其發(fā)送到服務(wù)器。(6)SetieldRange方法SetieldRange方法用于設(shè)置某個(gè)IP地址字段的范圍。(5)SetFieldFocus方法SetFieldFocus方法用于將某個(gè)IP地址字段獲得焦點(diǎn)。(4)SetAddress方法SetAddress方法用于設(shè)置IP地址。(3)IsBlank方法IsBlank方法用于判斷IP地址的所有字段是否為空,如果所有字段為空,返回TRUE,否則返回FALSE。nField2,BYTEamp。 nField0,BYTEamp。語法如下:int GetAddress(BYTEamp。語法如下:void ClearAddress()。 系統(tǒng)設(shè)置模塊分析系統(tǒng)設(shè)置模塊為了方便用戶錄入IP地址,使用CIPAddressCtrl控件,該控件專用于IP地址的輸入。(6)SetImageList方法 SetImageList方法用于設(shè)置列表控件關(guān)聯(lián)的圖像列表控件。(5)SetItemText方法SetItemText方法用于設(shè)置類表空間項(xiàng)目及子項(xiàng)目文件。(4) InsertColumn方法InsertColumn方法用于向列邊控件中添加列。如果列表控件為Report風(fēng)格,將向列表控件中添加一行。(2)DeleteAllItems方法DeleteAllItems方法用于刪除列表控件中的所有項(xiàng)目。(1)SetExtendedStyle方法SetExtendedStyle方法用于設(shè)置CListCtrl類的擴(kuò)展風(fēng)格。為了方便用戶進(jìn)行添加、修改、刪除操作,在操作員管理窗口顯示時(shí)會將操作員信息以表格形式顯示出來。factsize)。 //確定定網(wǎng)絡(luò)地址大小int ret=recvfrom(m_Socket,buffer,MAX_BUFF,0,(sockaddr*)amp。 //定義接收緩沖區(qū)sockaddr_in addr。函數(shù)語法如下: Sendto(SOCKET s,const char FAR*buf,int len,int flags,const struct sockaddr FAR*to,int tolen)。(3)recvfrom函數(shù) recvfrom函數(shù)用于讀取套接字?jǐn)?shù)據(jù)。(2)bind函數(shù) Bind函數(shù)用于將套接字綁定到一個(gè)已知的地址上。(1)socket函數(shù)Socket函數(shù)用于創(chuàng)建一個(gè)套接字。 主窗體運(yùn)行分析主窗體需要接收客戶端傳來的數(shù)據(jù),并且向客戶端發(fā)送確認(rèn)信息。在使用ADO Command對象時(shí),首先需要設(shè)置ActiveConnection屬性,該屬性關(guān)聯(lián)一個(gè)ADO Connection對象,然后設(shè)置CommandText屬性,該屬性標(biāo)示ADO Command 對象將要執(zhí)行的SQL語句。 系統(tǒng)登錄模塊分析為了驗(yàn)證用戶輸入的用戶名稱和密碼是否正確,需要根據(jù)用戶輸入的用戶名稱和密碼從數(shù)據(jù)庫中查詢用戶信息,如果有信息返回,表明用戶名稱和密碼正確;否則不正確。代碼如下:Sendto(m_Socket,pPackage,packsize,(),(sockaddr*)amp。data)。代碼如下:WSADATA data。在Visual C++中,為了使用套接字函數(shù),首先需要引用相應(yīng)的頭文件和庫文件。因?yàn)橥ㄟ^位圖信息頭、調(diào)色板和實(shí)際位圖數(shù)據(jù)3個(gè)部分就繪制位圖了,沒有必要發(fā)送位圖信息頭。在程序中可以使用BITMAPINFO結(jié)構(gòu)描述。其中,位圖文件頭主要包含位圖標(biāo)記、位圖大小等信息,在程序中使用BITMAPFILEHEADER結(jié)構(gòu)來描述。接著將根據(jù)位圖對象獲取位圖信息。(1)將屏幕信息轉(zhuǎn)換位圖結(jié)構(gòu)首先需要獲取屏幕信息,可以使用GetDesktopWindow方法獲取一個(gè)屏幕窗口指針,通過該指針獲取屏幕窗口的設(shè)備上下文。如圖5所示。其中,用戶的操作員姓名和密碼信息存儲在數(shù)據(jù)表中。如圖4所示。為此,需要單獨(dú)設(shè)計(jì)一個(gè)客戶端信息實(shí)體對象。 圖3 數(shù)據(jù)庫創(chuàng)建表 數(shù)據(jù)庫概念 分析完系統(tǒng)實(shí)體需求后,根據(jù)每個(gè)實(shí)體的ER圖創(chuàng)建系統(tǒng)所需的各個(gè)數(shù)據(jù)表,系統(tǒng)數(shù)據(jù)庫的所有數(shù)據(jù)表及其用途描述如表1所示。 業(yè)務(wù)流程圖 局域網(wǎng)監(jiān)控系統(tǒng)的業(yè)務(wù)流程圖如圖2所示。局域網(wǎng)監(jiān)控系統(tǒng)客戶端服務(wù)器端主窗體主窗體系統(tǒng)登錄操作員管理系統(tǒng)設(shè)置圖1 系統(tǒng)功能結(jié)構(gòu)圖 業(yè)務(wù)流程圖設(shè)計(jì) 業(yè)務(wù)流程介紹用戶通過賬號密碼登錄系統(tǒng)服務(wù)器端,如果登錄賬號密碼正確則登錄成功,否則重新登錄,登錄后在主窗體可以進(jìn)行系統(tǒng)設(shè)置、方向控制、操作員管理等一些操作供管理者更好的管理。 功能結(jié)構(gòu)圖 局域網(wǎng)監(jiān)控系統(tǒng)分為2打主模塊分別為客戶端和服務(wù)器端。系統(tǒng)設(shè)置窗體用于設(shè)置客戶端IP地址。3 總體設(shè)計(jì) 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì) 功能介紹局域網(wǎng)監(jiān)控系統(tǒng)分為客戶端和服務(wù)器端兩部分,其中客戶端運(yùn)行時(shí)將隱藏窗體,服務(wù)器端主要由4個(gè)窗體組成,分別為主窗體、操作員管理窗體、系統(tǒng)登錄窗體、系統(tǒng)設(shè)置窗體。(4)對用戶的信息要保密。(2)所有使用的技術(shù)資料都要由設(shè)計(jì)作者自己進(jìn)行保管。(2)對系統(tǒng)管理員,將進(jìn)行專業(yè)的培訓(xùn),使他們能夠熟練管理本系統(tǒng)。因此,新系統(tǒng)在經(jīng)濟(jì)上也是可行的。本系統(tǒng)的開發(fā)需要資金少,系統(tǒng)開發(fā)運(yùn)行后,可以實(shí)現(xiàn)局域網(wǎng)監(jiān)控的計(jì)算機(jī)化,節(jié)省人力,物力,將管理者從繁重的工作中解脫出來,減少對公司員工的管理量,節(jié)省大量的時(shí)間,管理效率大幅度提高。因此,該系統(tǒng)在技術(shù)上是可行的。根據(jù)我設(shè)計(jì)的實(shí)際情況, Microsoft Visual C++是微軟的開發(fā)技術(shù),在目前比較流行的程序開發(fā)中Visual C++ ,從易用性、安全性、經(jīng)濟(jì)性和可維護(hù)性出發(fā),我在此監(jiān)控系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)中使用了Access 2003作為后臺數(shù)據(jù)庫工具。為了防止服務(wù)器端隨意地接收客戶端發(fā)來的數(shù)據(jù)報(bào),服務(wù)器端需要對發(fā)來的數(shù)據(jù)進(jìn)行過濾,只接受制定的客戶端的數(shù)據(jù)。由于屏幕信息需要時(shí)時(shí)顯示,因此信息的傳輸速度要快,屏幕信息需要時(shí)時(shí)發(fā)送。 具體分析 程序系統(tǒng)需求分析局域網(wǎng)監(jiān)控系統(tǒng)主要是對計(jì)算機(jī)屏幕進(jìn)行監(jiān)控。(4)系統(tǒng)運(yùn)行時(shí)占用內(nèi)存不能大于10MB,以免影響系統(tǒng)性能。(2)屏幕信息需要時(shí)時(shí)顯示,網(wǎng)絡(luò)延時(shí)不能大于1秒。本系統(tǒng)主要實(shí)現(xiàn)以下目標(biāo)。每個(gè)數(shù)據(jù)庫文件最大限制只有2G,對于大型網(wǎng)站顯然不能夠勝任。Access數(shù)據(jù)庫由七種對象組成,他們是表、查詢、窗體、報(bào)表、宏、頁和模塊。Visual C++ ,利用類將與用戶界面設(shè)計(jì)有關(guān)的Windows API函數(shù)封裝起來,通過MFC類庫的方式提供給開發(fā)人員,大大提高了程序代碼的可重用性;Visual C++ ,能夠幫助用戶自動生成一個(gè)應(yīng)用程序框架,用戶只要在該框架的適當(dāng)位置添加代碼就可以得到一個(gè)滿意的應(yīng)用程序. Access數(shù)據(jù)庫簡介 Access是Microsoft Office 辦公軟件系列軟件的組件,是一種關(guān)系式數(shù)據(jù)庫,關(guān)系式 數(shù)據(jù)庫由一系列行和列組成,每一行是一個(gè)記錄,每一列是一個(gè)字段,每個(gè)字段有一個(gè)字段名,字段名在一個(gè)表中不能重復(fù)。利用Visual C++ 、兼容性和擴(kuò)展性的應(yīng)用程序。(5)分辨率:最佳效果10241280像素。(3)數(shù)據(jù)庫管理系統(tǒng)軟件:Microsoft Access 2003。(1)系統(tǒng)開發(fā)平臺:Microsoft Visual C++。本系統(tǒng)屬于純粹利用軟件進(jìn)行屏幕監(jiān)控。隨著多媒體和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)監(jiān)控領(lǐng)域有了長足的發(fā)展,監(jiān)控的范圍、規(guī)模多種多樣。1 概要 開發(fā)背景Internet在我國剛剛起步時(shí),上網(wǎng)人群主要是從事IT技術(shù)的專業(yè)人員,多數(shù)是中年人。希望既能滿足日常工作的需要,又能對與工作無關(guān)的上網(wǎng)進(jìn)行時(shí)間控制,信息內(nèi)容控制、信息流量控制、以保證有限的網(wǎng)絡(luò)資源用在工作中;另外,還要保證本地網(wǎng)用戶早網(wǎng)上不做違法、違規(guī)的事情。從企業(yè)管理的角度來看,Internet既給日常帶來了方便,同時(shí)也給現(xiàn)代企業(yè)管理帶來了新的難題。為了加強(qiáng)網(wǎng)絡(luò)安全,各個(gè)專門從事網(wǎng)絡(luò)安全研究的企業(yè)紛紛獻(xiàn)計(jì)獻(xiàn)策,推出自己的網(wǎng)絡(luò)安全產(chǎn)品與整體解決方案。基于此,我所進(jìn)行的局域網(wǎng)安全的研究和開發(fā),有旺盛的需求和良好的市場前景,適用于解決企業(yè)、單位的網(wǎng)絡(luò)資源的管理控制、用戶認(rèn)證、網(wǎng)絡(luò)監(jiān)控等問題。許多擁有網(wǎng)絡(luò)的單位已經(jīng)意識到信息安全的重要性,并開始采取一些手段保障自己的網(wǎng)絡(luò)信息安全。21世紀(jì)是信息時(shí)代,也是網(wǎng)絡(luò)經(jīng)濟(jì)時(shí)代。目前從與黑客有關(guān)的全球4萬多個(gè)站點(diǎn)上很容易獲得網(wǎng)絡(luò)入侵工具,這些工具包括SATAN、網(wǎng)絡(luò)蠕蟲、電子郵件炸彈、IP偽造器、數(shù)據(jù)包嗅探器、口令嗅探器等。systemoperatorsystems operation is easy, convenient,and fast, which offer a good control service to the Management.Keywords:關(guān)鍵詞:客戶端;服務(wù)器端;系統(tǒng)登錄;操作員管理;系統(tǒng)設(shè)置AbstractThere are variety kinds of resources on the Internet which brings us a lot of convenience,butThere are also many bad messages that have a bad effect on teenagers’ physical and psychological of parents worried that the Internet will influence their children’s LAN(local area network)monitoring system will sent the prefferd puter screen information in the LAN to the serverside,so parents could know the information that their children seached at any time,which palying the role