feat: Add showing client version and start time
This commit is contained in:
Binary file not shown.
@@ -39,7 +39,10 @@ enum
|
||||
ONLINELIST_OS, //<2F><><EFBFBD><EFBFBD>ϵͳ
|
||||
ONLINELIST_CPU, //CPU
|
||||
ONLINELIST_VIDEO, //<2F><><EFBFBD><EFBFBD>ͷ(<28><><EFBFBD><EFBFBD>)
|
||||
ONLINELIST_PING //PING(<28>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
ONLINELIST_PING, //PING(<28>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
ONLINELIST_VERSION, // <20>汾<EFBFBD><E6B1BE>Ϣ
|
||||
ONLINELIST_LOGINTIME, // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
ONLINELIST_MAX,
|
||||
};
|
||||
|
||||
|
||||
@@ -49,7 +52,7 @@ typedef struct
|
||||
int nWidth; //<2F>б<EFBFBD><D0B1>Ŀ<EFBFBD><C4BF><EFBFBD>
|
||||
}COLUMNSTRUCT;
|
||||
|
||||
const int g_Column_Count_Online = 7; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
const int g_Column_Count_Online = ONLINELIST_MAX; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
COLUMNSTRUCT g_Column_Data_Online[g_Column_Count_Online] =
|
||||
{
|
||||
@@ -60,6 +63,8 @@ COLUMNSTRUCT g_Column_Data_Online[g_Column_Count_Online] =
|
||||
{"CPU", 80 },
|
||||
{"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ", 72 },
|
||||
{"PING", 100 },
|
||||
{"<EFBFBD>汾", 80 },
|
||||
{"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>", 180 },
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><F2A1B0B9>ڡ<EFBFBD><DAA1>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD> CAboutDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
|
||||
@@ -322,7 +327,7 @@ VOID CMy2015RemoteDlg::TestOnline()
|
||||
|
||||
|
||||
VOID CMy2015RemoteDlg::AddList(CString strIP, CString strAddr, CString strPCName, CString strOS,
|
||||
CString strCPU, CString strVideo, CString strPing,CONTEXT_OBJECT* ContextObject)
|
||||
CString strCPU, CString strVideo, CString strPing, CString ver, CString st, CONTEXT_OBJECT* ContextObject)
|
||||
{
|
||||
EnterCriticalSection(&m_cs);
|
||||
//Ĭ<><C4AC>Ϊ0<CEAA><30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -334,6 +339,8 @@ VOID CMy2015RemoteDlg::AddList(CString strIP, CString strAddr, CString strPCName
|
||||
m_CList_Online.SetItemText(i,ONLINELIST_CPU,strCPU);
|
||||
m_CList_Online.SetItemText(i,ONLINELIST_VIDEO,strVideo);
|
||||
m_CList_Online.SetItemText(i,ONLINELIST_PING,strPing);
|
||||
m_CList_Online.SetItemText(i, ONLINELIST_VERSION, ver);
|
||||
m_CList_Online.SetItemText(i, ONLINELIST_LOGINTIME, st);
|
||||
|
||||
m_CList_Online.SetItemData(i,(DWORD_PTR)ContextObject);
|
||||
|
||||
@@ -975,20 +982,23 @@ LRESULT CMy2015RemoteDlg::OnUserToOnlineList(WPARAM wParam, LPARAM lParam)
|
||||
CString strToolTipsText;
|
||||
try
|
||||
{
|
||||
// <20><><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>
|
||||
if (ContextObject->InDeCompressedBuffer.GetBufferLength() != sizeof(LOGIN_INFOR))
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
LOGIN_INFOR* LoginInfor = new LOGIN_INFOR;
|
||||
ContextObject->InDeCompressedBuffer.CopyBuffer((LPBYTE)LoginInfor, sizeof(LOGIN_INFOR), 0);
|
||||
|
||||
sockaddr_in ClientAddr;
|
||||
memset(&ClientAddr, 0, sizeof(ClientAddr));
|
||||
int iClientAddrLen = sizeof(sockaddr_in);
|
||||
SOCKET nSocket = ContextObject->sClientSocket;
|
||||
BOOL bOk = getpeername(nSocket,(SOCKADDR*)&ClientAddr, &iClientAddrLen); //IP C <---IP
|
||||
BOOL bOk = getpeername(nSocket, (SOCKADDR*)&ClientAddr, &iClientAddrLen);
|
||||
// <20><><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>
|
||||
if (ContextObject->InDeCompressedBuffer.GetBufferLength() != sizeof(LOGIN_INFOR))
|
||||
{
|
||||
char buf[100];
|
||||
sprintf_s(buf, "*** Received [%s] invalid login data! ***\n", inet_ntoa(ClientAddr.sin_addr));
|
||||
OutputDebugStringA(buf);
|
||||
return -1;
|
||||
}
|
||||
|
||||
LOGIN_INFOR* LoginInfor = new LOGIN_INFOR;
|
||||
ContextObject->InDeCompressedBuffer.CopyBuffer((LPBYTE)LoginInfor, sizeof(LOGIN_INFOR), 0);
|
||||
|
||||
strIP = inet_ntoa(ClientAddr.sin_addr);
|
||||
|
||||
@@ -1008,7 +1018,7 @@ LRESULT CMy2015RemoteDlg::OnUserToOnlineList(WPARAM wParam, LPARAM lParam)
|
||||
|
||||
strAddr.Format("%d", nSocket);
|
||||
|
||||
AddList(strIP,strAddr,strPCName,strOS,strCPU,strVideo,strPing,ContextObject);
|
||||
AddList(strIP,strAddr,strPCName,strOS,strCPU,strVideo,strPing,LoginInfor->moduleVersion,LoginInfor->szStartTime,ContextObject);
|
||||
delete LoginInfor;
|
||||
return S_OK;
|
||||
}catch(...){
|
||||
|
||||
@@ -21,17 +21,6 @@
|
||||
#define CLIENT_EXIT_WITH_SERVER 1
|
||||
#endif
|
||||
|
||||
typedef struct _LOGIN_INFOR
|
||||
{
|
||||
BYTE bToken; // ȡ1<C8A1><31><EFBFBD><EFBFBD>½<EFBFBD><C2BD>Ϣ
|
||||
char OsVerInfoEx[sizeof(OSVERSIONINFOEX)];// <20>汾<EFBFBD><E6B1BE>Ϣ
|
||||
DWORD dwCPUMHz; // CPU<50><55>Ƶ
|
||||
IN_ADDR ClientAddr; // <20>洢32λ<32><CEBB>IPv4<76>ĵ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ݽṹ
|
||||
char szPCName[MAX_PATH]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
BOOL bWebCamIsExist; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
|
||||
DWORD dwSpeed; // <20><><EFBFBD><EFBFBD>
|
||||
}LOGIN_INFOR,*PLOGIN_INFOR;
|
||||
|
||||
// CMy2015RemoteDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
|
||||
class CMy2015RemoteDlg : public CDialogEx
|
||||
{
|
||||
@@ -58,7 +47,7 @@ public:
|
||||
VOID InitControl(); //<2F><>ʼ<EFBFBD>ؼ<EFBFBD>
|
||||
VOID TestOnline(); //<2F><><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD>
|
||||
VOID AddList(CString strIP, CString strAddr, CString strPCName, CString strOS,
|
||||
CString strCPU, CString strVideo, CString strPing,CONTEXT_OBJECT* ContextObject);
|
||||
CString strCPU, CString strVideo, CString strPing, CString ver, CString st, CONTEXT_OBJECT* ContextObject);
|
||||
VOID ShowMessage(BOOL bOk, CString strMsg);
|
||||
VOID CreatStatusBar();
|
||||
VOID CreateToolBar();
|
||||
|
||||
Reference in New Issue
Block a user