今天做远程屏幕截图,服务器端点了按钮之后卡死了。想了好久,是因为没有开启线程,故一直等待返回。修改之后的代码是:UINT AFX_CDECL GetDeskTopProc(LPVOID lpParam){CMyListView* lpView = (CMyListView*)lpParam;lpView->m_start = 1;while(lpView->m_start){CMyPacket thePacket("");CMyListCtrl& m_ClientList = (CMyListCtrl&)lpView->GetListCtrl();int ssocket = 0;CString csStr;int nMark = m_ClientList.GetSelectionMark();if(nMark == -1)m_ClientList.SetSelectionMark(0);else{csStr = m_ClientList.GetItemText(nMark, 2);}ssocket = atoi(csStr);thePacket.SetSendData("WIDTHHEIGHT");thePacket.SendData((SOCKET)ssocket);thePacket.SetSendData("GETDESKTOP");thePacket.SendData((SOCKET)ssocket);Sleep(1000);}return 0;}void CMyListView::OnGetdesktop() {// TODO: Add your command handler code hereAfxBeginThread(GetDeskTopProc, (LPVOID)this);}过程函数需声明为静态。
远程截图卡死的解决办法
最新推荐文章于 2023-06-03 12:45:06 发布