freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

局域網(wǎng)監(jiān)控系統(tǒng)畢業(yè)設(shè)計(jì)論文-資料下載頁

2025-06-28 21:55本頁面

【導(dǎo)讀】畢業(yè)設(shè)計(jì)(論文)工作內(nèi)容與基本要求(目標(biāo)、任務(wù)、途徑、方法、成果形式,1.注冊(cè)、修改個(gè)人資料功能。本系統(tǒng)采用+Acess20xx進(jìn)行開發(fā)。來管理自己的財(cái)務(wù)、商業(yè)機(jī)密等別的業(yè)務(wù)。能在上班時(shí)間充分的利用計(jì)算機(jī)干自己的工作。即便是制定了相關(guān)的規(guī)章制度還。是不能約束其行為。以實(shí)時(shí)的對(duì)局域網(wǎng)內(nèi)的每臺(tái)計(jì)算機(jī)進(jìn)行屏幕監(jiān)控。務(wù)器端完成,對(duì)數(shù)據(jù)的操作進(jìn)行總結(jié),以及整個(gè)畢業(yè)設(shè)計(jì)的完成。Inter上豐富的資源給人們帶來了很多的方便,但。擔(dān)心青少年上網(wǎng)會(huì)影響其學(xué)習(xí)。局域網(wǎng)中的某一臺(tái)計(jì)算機(jī)的屏幕信息發(fā)送到服務(wù)器端,網(wǎng)起到監(jiān)督作用。的開發(fā)過程;最后對(duì)整個(gè)系統(tǒng)進(jìn)行測試得出測試結(jié)論。

  

【正文】 int m_RecSize。 CString m_ClientIP。 UINT m_ClientPort。 WORD m_LeftTopX。 WORD m_LeftTopY。 自定義一個(gè)消息,用于自套接字有數(shù)據(jù)時(shí)發(fā)送到主窗口中。 define CM_RECEIVED WM_USER+1001 想對(duì)話框中添加 ShowImage 方法,顯示位圖數(shù)據(jù)。 void CServerDlg::ShowImage() { if(m_ShowBmp) { BITMAPINFO bInfo。 memcpy(amp。bInfo,m_TempData,sizeof(bInfo))。 int x=。 int y=。 StretchDIBits(()m_hDC,0,0,x,y,0,0,x,y,amp。m_TempData[sizeof(BITMAPINFO)], amp。bInfo,DIB_RGB_COLORS,SRCCOPY)。 } } 向?qū)υ捒蛑刑砑?OnReceived 方法,用于接收客戶端發(fā)來的數(shù)據(jù)。在數(shù)據(jù)接收后,向客戶端發(fā)送確認(rèn)信息。 void CServerDlg::OnReceived() { char *buffer=new char[MAX_BUFF]。 sockaddr_in addr。 int factsize=sizeof(addr)。 int ret=recvfrom(m_Socket,buffer,1050,0,(sockaddr*)amp。addr,amp。factsize)。 if(ret!=1) { CString recIP=i_ntoa()。 //MessageBox(recIP)。 if(recIP!=m_ClientIP) { //MessageBox(m_ClientIP)。 delete[] buffer。 return。 } m_ClientPort=ntohs()。 m_RecSize+=ret。 WORD orderID=*(WORD*)amp。buffer[0]。 WORD endID=*(WORD*)amp。buffer[2]。 int bmpsize=*(int *)amp。buffer[ret12]。 m_LeftTopX=*(WORD*)amp。buffer[ret8]。 m_LeftTopY=*(WORD*)amp。buffer[ret6]。 sockaddr_in addr1。 =i_addr((0))。 =htons(m_ClientPort)。 =AF_INET。 int size=sizeof(addr1)。 char *pData=confirm。 sendto(m_Socket,pData,8,0,(sockaddr*)amp。addr1,size)。 if(orderID==0) { m_BmpSize=bmpsize。 m_BmpData=Head。 } else m_BmpSize+=bmpsize。 memcpy(m_BmpData,amp。buffer[4],bmpsize)。 m_BmpData+=bmpsize。 m_ShowBmp=false。 if(endID==1) { m_ShowBmp=true。 m_BmpData=Head。 memcpy(m_TempData,Head,1024*1024)。 ShowImage()。 } } delete[] buffer。 } 在對(duì)話框的消息映射部分手動(dòng)添加一個(gè)消息映射,用于將 CM_RECEIVED與 OnReceived方法聯(lián)系起來。如下: ON_MESSAGE(CM_RECEIVED,OnReceived) 向?qū)υ捒蛑刑砑?OnButtonDown 方法,用于向客戶端發(fā)送控制指令。 void CServerDlg::OnButtonDown(UINT nID) { if(!()) { WORD x=m_LeftTopX。 WORD y=m_LeftTopY。 char buffer[4]。 sockaddr_in addr。 =AF_INET。 =htons(m_ClientPort)。 =i_addr((0))。 int size=sizeof(addr)。 switch(nID) { case IDC_BTDOWN: { y=m_LeftTopY+100。 *(WORD*)amp。buffer[0]=x。 *(WORD*)amp。buffer[2]=y。 int ret=sendto(m_Socket,buffer,4,0,(sockaddr*)amp。addr,size)。 break。 } case IDC_BTUP: { y=m_LeftTopY100。 *(WORD*)amp。buffer[0]=x。 *(WORD*)amp。buffer[2]=y。 int ret=sendto(m_Socket,buffer,4,0,(sockaddr*)amp。addr,size)。 break。 } case IDC_BTLEFT: { x=m_LeftTopX100。 *(WORD*)amp。buffer[0]=x。 *(WORD*)amp。buffer[2]=y。 int ret=sendto(m_Socket,buffer,4,0,(sockaddr*)amp。addr,size)。 break。 } case IDC_BTRIGHT: { x=m_LeftTopX+100。 *(WORD*)amp。buffer[0]=x。 *(WORD*)amp。buffer[2]=y。 int ret=sendto(m_Socket,buffer,4,0,(sockaddr*)amp。addr,size)。 break。 } case IDC_BTRESTORE: { *(WORD*)amp。buffer[0]=0。 *(WORD*)amp。buffer[2]=0。 int ret=sendto(m_Socket,buffer,4,0,(sockaddr*)amp。addr,size)。 break。 } } } } 在對(duì)話框的消息映射部分添加一個(gè) ON_COMMAND_RANGE 消息映射宏,用以處理按鈕單擊事件。 ON_COMMAND_RANGE(IDC_BTRESTORE,IDC_BTRIGHT,OnButtonDown) 在對(duì)話框的初始化函數(shù)中創(chuàng)建并綁定套接字,從數(shù)據(jù)庫中讀取客戶端 IP BOOL CServerDlg::OnInitDialog() { CDialog::OnInitDialog()。 sockaddr_in addr。 = AF_INET。 // = i_addr(localIP)。 = i_addr()。 = htons(5002)。 //創(chuàng)建套接字 m_Socket = socket(AF_INET,SOCK_DGRAM,0)。 if (m_Socket == INVALID_SOCKET) { MessageBox(套接字創(chuàng)建失敗 !)。 } //綁定套接字 if (bind(m_Socket,(sockaddr*)amp。addr,sizeof(addr))==SOCKET_ERROR) { MessageBox(套接字綁定失敗 !)。 } m_BmpData = new char[1024*1024*2]。 memset(m_BmpData,0,1024*1024*2)。 m_TempData = new char[1024*1024*2]。 memset(m_TempData,0,1024*1024*2)。 Head = m_BmpData。 WSAAsyncSelect(m_Socket,m_hWnd,CM_RECEIVED,FD_READ)。 m_ShowBmp = FALSE。 m_BmpSize = 0。 m_RecSize = 0。 m_ClientPort = 0。 CServerApp* pApp = (CServerApp*)AfxGetApp()。 CString sql = select * from tb_ClientInfo。 pAppCursorLocation = adUseServer。 pAppOpen((_bstr_t)sql,pApp(),adOpenKeyset,adLockOptimistic,adCmdText)。 m_ClientIP= 。 if (pAppRecordCount0) { m_ClientIP = (char*)(_bstr_t)pAppGetFields()GetItem(0L)Value。 //MessageBox(m_ClientIP)。 } pAppClose()。 m_LeftTopX= 0。 m_LeftTopY= 0。 (NULL,0,0,305,305,SWP_NOMOVE)。 return TRUE。 } 處理對(duì)話框的 OnCancel 方法,在對(duì)話框關(guān)閉時(shí)釋放 分配的內(nèi)存,防止內(nèi)存泄漏。 第七 章 操作員管理模塊設(shè)計(jì) 167。 操作員模塊概述 操作員模 塊主要用于實(shí)現(xiàn)操作員信息的添加、修改、刪除。操作員模塊運(yùn)行結(jié)果如下圖。 167。 操作員模塊技術(shù)分析 操作員管理模塊主要實(shí)現(xiàn)操作員信息的添加、修改、刪除。為了方便用戶進(jìn)行添加、修改、刪除操作,在操作員管理窗口顯示時(shí)會(huì)將操作員信息以表格形式顯示出來。這里的表格使用的是 MFC 提供的 CListCtrl 類 。 167。 操作員模塊實(shí)現(xiàn)過程 創(chuàng)建一個(gè)對(duì)話框,中間的空間如上圖顯示的樣式。 改寫對(duì)話框的 PreTranslateMessage 虛方法,當(dāng)焦點(diǎn)在編輯框中時(shí)按 Enter 鍵將控制焦點(diǎn)移動(dòng)。 BOOL CCopManage::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class if (pMsgmessage==WM_KEYDOWN amp。amp。 pMsgwParam==VK_RETURN ) { CString str。 //獲取類名 GetClassName(pMsghwnd,(0),MAX_PATH)。 if (str==Edit) pMsgwParam = VK_TAB 。 } return CDialog::PreTranslateMessage(pMsg)。 } 向?qū)υ捒蛑刑砑?CLearText 方法,用于刪除編輯框中的文本。為了增加程序的靈活性,cleartext 方法逐一利用循環(huán)遍歷對(duì)話框中的控件,如果是編輯框控件,則清空文本,這樣,無論對(duì)話框中有多少個(gè)編輯控件,調(diào)用 cleartext 方法會(huì)將所有的文本清空。 void CCopManage::ClearText() { HWND pWnd=NULL。 pWnd=::GetWindow(m_hWnd,GW_CHILD)。 char clsname[MAX_PATH]。 memset(clsname,0,MAX_PATH)。 if(pWnd!=NULL) {
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1