mirror of
https://github.com/Cc28256/CcRemote.git
synced 2025-06-08 05:19:50 +00:00
增加了控制端的一些代码,获取一些服务端的数据显示在列表中
This commit is contained in:
parent
2fe1905f47
commit
1bc9a890b1
Binary file not shown.
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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\|
|
||||
|
Binary file not shown.
@ -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
|
@ -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
|
@ -1,2 +0,0 @@
|
||||
#TargetFrameworkVersion=v4.0:PlatformToolSet=v141:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0
|
||||
Release|Win32|G:\CcRemote\CcRemote\CcMainDll\|
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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\|
|
||||
|
@ -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>
|
||||
|
Binary file not shown.
@ -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 中
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ class CCcRemoteApp : public CWinApp
|
||||
{
|
||||
public:
|
||||
CCcRemoteApp();
|
||||
|
||||
bool m_bIsQQwryExist;
|
||||
CIniFile m_IniFile;//配置文件对象
|
||||
// 重写
|
||||
public:
|
||||
|
@ -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>
|
||||
|
@ -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">
|
||||
|
@ -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;
|
||||
}
|
@ -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();
|
||||
};
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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\|
|
||||
|
436
CcRemote/CcRemote/SEU_QQwry.cpp
Normal file
436
CcRemote/CcRemote/SEU_QQwry.cpp
Normal file
@ -0,0 +1,436 @@
|
||||
/*********************************************************************
|
||||
* SEU_QQwry.cpp
|
||||
*
|
||||
* 楚茗收集整理
|
||||
*
|
||||
* 说明:纯真IP数据库 QQWry.dat的操作类
|
||||
*
|
||||
* 部分代码来源于网络,你可以随意使用,传播或修改.但是不可用于商业用途
|
||||
*********************************************************************/
|
||||
|
||||
#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();
|
||||
}
|
82
CcRemote/CcRemote/SEU_QQwry.h
Normal file
82
CcRemote/CcRemote/SEU_QQwry.h
Normal file
@ -0,0 +1,82 @@
|
||||
/*********************************************************************
|
||||
* SEU_QQwry.h
|
||||
*
|
||||
* 楚茗收集整理
|
||||
*
|
||||
* 说明:纯真IP数据库 QQWry.dat的操作类
|
||||
*
|
||||
* 部分代码来源于网络,你可以随意使用,传播或修改.但是不可用于商业用途
|
||||
*********************************************************************/
|
||||
#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)
|
Binary file not shown.
BIN
bin/QQwry.dat
Normal file
BIN
bin/QQwry.dat
Normal file
Binary file not shown.
BIN
bin/server/CcMainDll.id2
Normal file
BIN
bin/server/CcMainDll.id2
Normal file
Binary file not shown.
Binary file not shown.
BIN
bin/server/CcMainDll.til
Normal file
BIN
bin/server/CcMainDll.til
Normal file
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user