Feature: Add language support (beta, not completed)

This commit is contained in:
yuanyuanxiang
2026-01-27 21:48:46 +01:00
parent 02ce01d5e7
commit 05a11605a4
70 changed files with 3895 additions and 906 deletions

View File

@@ -10,7 +10,7 @@
IMPLEMENT_DYNAMIC(CCreateTaskDlg, CDialog)
CCreateTaskDlg::CCreateTaskDlg(CWnd* pParent /*=nullptr*/)
: CDialog(IDD_CREATETASK, pParent)
: CDialogLang(IDD_CREATETASK, pParent)
, m_TaskPath(_T("\\"))
, m_TaskNames(_T("bhyy"))
, m_ExePath(_T("C:\\windows\\system32\\cmd.exe"))
@@ -25,7 +25,7 @@ CCreateTaskDlg::~CCreateTaskDlg()
void CCreateTaskDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
__super::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT_PATH, m_TaskPath);
DDX_Control(pDX, IDC_EDIT_NAME, m_TaskName);
DDX_Text(pDX, IDC_EDIT_NAME, m_TaskNames);
@@ -47,5 +47,5 @@ void CCreateTaskDlg::OnBnClickedButtonCREAT()
{
UpdateData(TRUE);
// TODO: 在此添加控件通知处理程序代码
CDialog::OnOK();
__super::OnOK();
}

View File

@@ -1,9 +1,9 @@
#pragma once
#include "LangManager.h"
// CCreateTaskDlg 对话框
class CCreateTaskDlg : public CDialog
class CCreateTaskDlg : public CDialogLang
{
DECLARE_DYNAMIC(CCreateTaskDlg)

View File

@@ -13,7 +13,7 @@
IMPLEMENT_DYNAMIC(CInjectCodeDlg, CDialog)
CInjectCodeDlg::CInjectCodeDlg(CWnd* pParent /*=nullptr*/)
: CDialog(IDD_INJECTINFO, pParent)
: CDialogLang(IDD_INJECTINFO, pParent)
, Str_loacal(_T("本地文件路径"))
, Str_remote(_T(""))
{
@@ -25,7 +25,7 @@ CInjectCodeDlg::~CInjectCodeDlg()
void CInjectCodeDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
__super::DoDataExchange(pDX);
DDX_Control(pDX, IDC_COMBO_INJECTS, m_combo_main);
DDX_Text(pDX, IDC_EDIT_PATH, Str_loacal);
DDX_Text(pDX, IDC_EDIT_PATH_REMOTE, Str_remote);
@@ -40,15 +40,15 @@ END_MESSAGE_MAP()
BOOL CInjectCodeDlg::OnInitDialog()
{
CDialog::OnInitDialog();
__super::OnInitDialog();
int i = 0;
m_combo_main.InsertString(i++, _T("CreateRemoteThread(落地反射注入)"));
m_combo_main.InsertString(i++, _T("QueueUserAPC(落地反射注入)"));
m_combo_main.InsertString(i++, _T("NtCreateThreadEx(落地反射注入)"));
m_combo_main.InsertStringL(i++, _T("CreateRemoteThread(落地反射注入)"));
m_combo_main.InsertStringL(i++, _T("QueueUserAPC(落地反射注入)"));
m_combo_main.InsertStringL(i++, _T("NtCreateThreadEx(落地反射注入)"));
m_combo_main.InsertString(i++, _T("CreateRemoteThread(shellcode注入)"));
m_combo_main.InsertString(i++, _T("QueueUserAPC(shellcode注入)"));
m_combo_main.InsertString(i++, _T("NtCreateThreadEx(shellcode注入)"));
m_combo_main.InsertStringL(i++, _T("CreateRemoteThread(shellcode注入)"));
m_combo_main.InsertStringL(i++, _T("QueueUserAPC(shellcode注入)"));
m_combo_main.InsertStringL(i++, _T("NtCreateThreadEx(shellcode注入)"));
m_combo_main.SetCurSel(0);
@@ -59,7 +59,7 @@ BOOL CInjectCodeDlg::OnInitDialog()
WORD wHour = stTime.wHour;
WORD wMinute = stTime.wMinute;
WORD wSecond = stTime.wSecond;
Str_remote.Format( _T("C:\\ProgramData\\%d%d%d%d%d.dll"), wMonth, wDay, wHour, wMinute, wSecond);
Str_remote.FormatL( _T("C:\\ProgramData\\%d%d%d%d%d.dll"), wMonth, wDay, wHour, wMinute, wSecond);
((CEdit*)GetDlgItem(IDC_EDIT_PATH_REMOTE))->SetWindowText(Str_remote);
isel = 0;
@@ -78,7 +78,7 @@ void CInjectCodeDlg::OnBnClickedButtonChoose()
void CInjectCodeDlg::OnBnClickedButtonInject()
{
UpdateData(TRUE);
CDialog::OnOK();
__super::OnOK();
}

View File

@@ -1,9 +1,9 @@
#pragma once
#include "LangManager.h"
// CInjectCodeDlg 对话框
class CInjectCodeDlg : public CDialog
class CInjectCodeDlg : public CDialogLang
{
DECLARE_DYNAMIC(CInjectCodeDlg)

View File

@@ -95,13 +95,13 @@ BOOL CMachineDlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
SortColumn(pHDNotify->iItem, pHDNotify->iItem == m_nSortedCol ? !m_bAscending : true);
}
return CDialog::OnNotify(wParam, lParam, pResult);
return __super::OnNotify(wParam, lParam, pResult);
}
void CMachineDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
__super::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST, m_list);
DDX_Control(pDX, IDC_TAB, m_tab);
@@ -125,14 +125,14 @@ END_MESSAGE_MAP()
BOOL CMachineDlg::OnInitDialog()
{
CDialog::OnInitDialog();
__super::OnInitDialog();
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
CString str;
str.Format(_T("主机管理 - %s"), m_ContextObject->PeerName.c_str());
str.FormatL(_T("主机管理 - %s"), m_ContextObject->PeerName.c_str());
SetWindowText(str);
m_tab.SetPadding(CSize(6, 3));
@@ -140,15 +140,15 @@ BOOL CMachineDlg::OnInitDialog()
m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_UNDERLINEHOT | LVS_EX_SUBITEMIMAGES | LVS_EX_GRIDLINES | LVS_EX_INFOTIP);
int i = 0;
m_tab.InsertItem(i++, _T("进程管理"));
m_tab.InsertItem(i++, _T("窗口管理"));
m_tab.InsertItem(i++, _T("网络连接"));
m_tab.InsertItem(i++, _T("软件信息"));
m_tab.InsertItem(i++, _T("浏览记录"));
m_tab.InsertItem(i++, _T("收 藏 夹"));
m_tab.InsertItem(i++, _T("WIN32服务"));
m_tab.InsertItem(i++, _T("驱动服务"));
m_tab.InsertItem(i++, _T("计划任务"));
m_tab.InsertTabItemL(i++, "进程管理");
m_tab.InsertTabItemL(i++, "窗口管理");
m_tab.InsertTabItemL(i++, "网络连接");
m_tab.InsertTabItemL(i++, "软件信息");
m_tab.InsertTabItemL(i++, "浏览记录");
m_tab.InsertTabItemL(i++, "收 藏 夹");
m_tab.InsertTabItemL(i++, "WIN32服务");
m_tab.InsertTabItemL(i++, "驱动服务");
m_tab.InsertTabItemL(i++, "计划任务");
m_tab.InsertItem(i++, _T("HOSTS"));
if (!m_wndStatusBar.Create(this) ||
@@ -161,7 +161,7 @@ BOOL CMachineDlg::OnInitDialog()
m_wndStatusBar.SetPaneInfo(1, m_wndStatusBar.GetItemID(1), SBPS_STRETCH, 0);
m_wndStatusBar.SetPaneInfo(2, m_wndStatusBar.GetItemID(2), SBPS_NORMAL, 300);
m_wndStatusBar.SetPaneText(0, _T("就绪"));
m_wndStatusBar.SetPaneTextL(0, "就绪");
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0); //显示状态栏
HWND hWndHeader = m_list.GetDlgItem(0)->GetSafeHwnd();
@@ -178,25 +178,25 @@ CString CMachineDlg::__MakePriority(DWORD dwPriClass)
CString strRet;
switch (dwPriClass) {
case REALTIME_PRIORITY_CLASS:
strRet = _T("实时");
strRet = _L(_T("实时"));
break;
case HIGH_PRIORITY_CLASS:
strRet = _T("");
strRet = _L(_T(""));
break;
case ABOVE_NORMAL_PRIORITY_CLASS:
strRet = _T("高于标准");
strRet = _L(_T("高于标准"));
break;
case NORMAL_PRIORITY_CLASS:
strRet = _T("标准");
strRet = _L(_T("标准"));
break;
case BELOW_NORMAL_PRIORITY_CLASS:
strRet = _T("低于标准");
strRet = _L(_T("低于标准"));
break;
case IDLE_PRIORITY_CLASS:
strRet = _T("空闲");
strRet = _L(_T("空闲"));
break;
default:
strRet = _T("未知");
strRet = _L(_T("未知"));
break;
}
@@ -351,7 +351,7 @@ void CMachineDlg::OnSelChangeTab(NMHDR* pNMHDR, LRESULT* pResult)
void CMachineDlg::OnSelChangingTab(NMHDR* pNMHDR, LRESULT* pResult)
{
if (*pResult = IsReceivingData()) {
m_wndStatusBar.SetPaneText(0, "正在接收数据 - 请稍后...");
m_wndStatusBar.SetPaneText(0, _TR("正在接收数据 - 请稍后..."));
}
}
@@ -391,16 +391,16 @@ void CMachineDlg::DeleteList()
void CMachineDlg::ShowProcessList()
{
m_list.InsertColumn(0, _T("映像名称"), LVCFMT_LEFT, 100);
m_list.InsertColumn(1, _T("PID"), LVCFMT_LEFT, 50);
m_list.InsertColumn(2, _T("优先级"), LVCFMT_LEFT, 50);
m_list.InsertColumn(3, _T("线程数"), LVCFMT_LEFT, 50);
m_list.InsertColumn(4, _T("用户名"), LVCFMT_LEFT, 70);
m_list.InsertColumn(5, _T("内存"), LVCFMT_LEFT, 70);
m_list.InsertColumn(6, _T("文件大小"), LVCFMT_LEFT, 80);
m_list.InsertColumn(7, _T("程序路径"), LVCFMT_LEFT, 300);
m_list.InsertColumn(8, _T("窗口名称"), LVCFMT_LEFT, 100);
m_list.InsertColumn(9, _T("进程位数"), LVCFMT_LEFT, 80);
m_list.InsertColumnL(0, _T("映像名称"), LVCFMT_LEFT, 100);
m_list.InsertColumnL(1, _T("PID"), LVCFMT_LEFT, 50);
m_list.InsertColumnL(2, _T("优先级"), LVCFMT_LEFT, 50);
m_list.InsertColumnL(3, _T("线程数"), LVCFMT_LEFT, 50);
m_list.InsertColumnL(4, _T("用户名"), LVCFMT_LEFT, 70);
m_list.InsertColumnL(5, _T("内存"), LVCFMT_LEFT, 70);
m_list.InsertColumnL(6, _T("文件大小"), LVCFMT_LEFT, 80);
m_list.InsertColumnL(7, _T("程序路径"), LVCFMT_LEFT, 300);
m_list.InsertColumnL(8, _T("窗口名称"), LVCFMT_LEFT, 100);
m_list.InsertColumnL(9, _T("进程位数"), LVCFMT_LEFT, 80);
char* lpBuffer = (char*)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwOffset = 0;
@@ -422,20 +422,20 @@ void CMachineDlg::ShowProcessList()
m_list.InsertItem(i, strExeFile, 0);
str.Format(_T("%5u"), *lpPID);
str.FormatL(_T("%5u"), *lpPID);
m_list.SetItemText(i, 1, str);
m_list.SetItemText(i, 2, __MakePriority(*lpdwPriClass));
str.Format(_T("%5u"), *lpdwThreads);
str.FormatL(_T("%5u"), *lpdwThreads);
m_list.SetItemText(i, 3, str);
m_list.SetItemText(i, 4, strProcessUser);
str.Format(_T("%5u K"), *lpdwWorkingSetSize);
str.FormatL(_T("%5u K"), *lpdwWorkingSetSize);
m_list.SetItemText(i, 5, str);
str.Format(_T("%5u KB"), *lpdwFileSize);
str.FormatL(_T("%5u KB"), *lpdwFileSize);
m_list.SetItemText(i, 6, str);
m_list.SetItemText(i, 7, strProcessName);
@@ -449,7 +449,7 @@ void CMachineDlg::ShowProcessList()
lstrlen(strProcessName) * sizeof(char) + lstrlen(strProcessUser) * sizeof(char) + 6;
}
str.Format(_T("程序路径 / %d"), i);
str.FormatL(_T("程序路径 / %d"), i);
LVCOLUMN lvc;
lvc.mask = LVCF_TEXT;
lvc.pszText = str.GetBuffer(0);
@@ -462,11 +462,11 @@ void CMachineDlg::ShowProcessList()
void CMachineDlg::ShowWindowsList()
{
m_list.InsertColumn(0, _T("PID"), LVCFMT_LEFT, 75);
m_list.InsertColumn(1, _T("句柄HWND"), LVCFMT_LEFT, 75);
m_list.InsertColumn(2, _T("窗口名称"), LVCFMT_LEFT, 300);
m_list.InsertColumn(3, _T("窗口状态"), LVCFMT_LEFT, 100);
m_list.InsertColumn(4, _T("大小"), LVCFMT_LEFT, 100);
m_list.InsertColumnL(0, _T("PID"), LVCFMT_LEFT, 75);
m_list.InsertColumnL(1, _T("句柄HWND"), LVCFMT_LEFT, 75);
m_list.InsertColumnL(2, _T("窗口名称"), LVCFMT_LEFT, 300);
m_list.InsertColumnL(3, _T("窗口状态"), LVCFMT_LEFT, 100);
m_list.InsertColumnL(4, _T("大小"), LVCFMT_LEFT, 100);
LPBYTE lpBuffer = (LPBYTE)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwOffset = 0;
@@ -476,20 +476,20 @@ void CMachineDlg::ShowWindowsList()
for (i = 0; dwOffset < m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1; i++) {
memcpy(&m_ibfo, lpBuffer + dwOffset, sizeof(WINDOWSINFO));
str.Format(_T("%5u"), m_ibfo.m_poceessid);
str.FormatL(_T("%5u"), m_ibfo.m_poceessid);
m_list.InsertItem(i, str, 25);
char t_hwnd[250];
_stprintf_s(t_hwnd, 250, _T("%d"), m_ibfo.m_hwnd);
m_list.SetItemText(i, 1, t_hwnd);
m_list.SetItemText(i, 2, m_ibfo.strTitle);
m_list.SetItemText(i, 3, m_ibfo.canlook ? _T("显示") : _T("隐藏"));
str.Format(_T("%d*%d"), m_ibfo.w, m_ibfo.h);
m_list.SetItemText(i, 3, m_ibfo.canlook ? _L(_T("显示")) : _L(_T("隐藏")));
str.FormatL(_T("%d*%d"), m_ibfo.w, m_ibfo.h);
m_list.SetItemText(i, 4, str);
// ListItem 为进程ID
m_list.SetItemData(i, (DWORD_PTR)new ListItem(m_list, i, m_ibfo.m_poceessid));
dwOffset += sizeof(WINDOWSINFO);
}
str.Format(_T("窗口名称 / %d"), i);
str.FormatL(_T("窗口名称 / %d"), i);
LVCOLUMN lvc = {};
lvc.mask = LVCF_TEXT;
lvc.pszText = str.GetBuffer(0);
@@ -502,13 +502,13 @@ void CMachineDlg::ShowWindowsList()
void CMachineDlg::ShowNetStateList()
{
m_list.InsertColumn(0, _T("进程名"), LVCFMT_LEFT, 100);
m_list.InsertColumn(1, _T("PID"), LVCFMT_LEFT, 50);
m_list.InsertColumn(2, _T("协议"), LVCFMT_LEFT, 50);
m_list.InsertColumn(3, _T("本地地址:端口"), LVCFMT_LEFT, 130);
m_list.InsertColumn(4, _T("远程地址:端口"), LVCFMT_LEFT, 130);
m_list.InsertColumn(5, _T("目标IP归属地"), LVCFMT_LEFT, 140);
m_list.InsertColumn(6, _T("连接状态"), LVCFMT_LEFT, 80);
m_list.InsertColumnL(0, _T("进程名"), LVCFMT_LEFT, 100);
m_list.InsertColumnL(1, _T("PID"), LVCFMT_LEFT, 50);
m_list.InsertColumnL(2, _T("协议"), LVCFMT_LEFT, 50);
m_list.InsertColumnL(3, _T("本地地址:端口"), LVCFMT_LEFT, 130);
m_list.InsertColumnL(4, _T("远程地址:端口"), LVCFMT_LEFT, 130);
m_list.InsertColumnL(5, _T("目标IP归属地"), LVCFMT_LEFT, 140);
m_list.InsertColumnL(6, _T("连接状态"), LVCFMT_LEFT, 80);
LPBYTE lpBuffer = (LPBYTE)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwOffset = 0;
@@ -523,7 +523,7 @@ void CMachineDlg::ShowNetStateList()
} else if (j == 1) {
LPDWORD lpPID = LPDWORD(lpBuffer + dwOffset);
pid = *lpPID;
str.Format(_T("%d"), *lpPID);
str.FormatL(_T("%d"), *lpPID);
m_list.SetItemText(i, j, str);
dwOffset += sizeof(DWORD) + 2;
} else if (j == 5) {
@@ -554,11 +554,11 @@ void CMachineDlg::ShowNetStateList()
void CMachineDlg::ShowSoftWareList()
{
m_list.InsertColumn(0, _T("软件名称"), LVCFMT_LEFT, 150);
m_list.InsertColumn(1, _T("发行商"), LVCFMT_LEFT, 150);
m_list.InsertColumn(2, _T("版本"), LVCFMT_LEFT, 75);
m_list.InsertColumn(3, _T("安装时间"), LVCFMT_LEFT, 80);
m_list.InsertColumn(4, _T("卸载命令及参数"), LVCFMT_LEFT, 400);
m_list.InsertColumnL(0, _T("软件名称"), LVCFMT_LEFT, 150);
m_list.InsertColumnL(1, _T("发行商"), LVCFMT_LEFT, 150);
m_list.InsertColumnL(2, _T("版本"), LVCFMT_LEFT, 75);
m_list.InsertColumnL(3, _T("安装时间"), LVCFMT_LEFT, 80);
m_list.InsertColumnL(4, _T("卸载命令及参数"), LVCFMT_LEFT, 400);
LPBYTE lpBuffer = (LPBYTE)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwOffset = 0;
@@ -579,16 +579,16 @@ void CMachineDlg::ShowSoftWareList()
void CMachineDlg::ShowIEHistoryList()
{
m_list.InsertColumn(0, _T("序号"), LVCFMT_LEFT, 70);
m_list.InsertColumn(1, _T("访问时间"), LVCFMT_LEFT, 130);
m_list.InsertColumn(2, _T("标题"), LVCFMT_LEFT, 150);
m_list.InsertColumn(3, _T("网页地址"), LVCFMT_LEFT, 400);
m_list.InsertColumnL(0, _T("序号"), LVCFMT_LEFT, 70);
m_list.InsertColumnL(1, _T("访问时间"), LVCFMT_LEFT, 130);
m_list.InsertColumnL(2, _T("标题"), LVCFMT_LEFT, 150);
m_list.InsertColumnL(3, _T("网页地址"), LVCFMT_LEFT, 400);
LPBYTE lpBuffer = (LPBYTE)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwOffset = 0;
CString str;
for (int i = 0; dwOffset < m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1; i++) {
Browsinghistory* p_Browsinghistory = (Browsinghistory*)((char*)lpBuffer + dwOffset);
str.Format(_T("%d"), i);
str.FormatL(_T("%d"), i);
m_list.InsertItem(i, str, 0);
m_list.SetItemText(i, 1, p_Browsinghistory->strTime);
m_list.SetItemText(i, 2, p_Browsinghistory->strTitle);
@@ -601,8 +601,8 @@ void CMachineDlg::ShowIEHistoryList()
void CMachineDlg::ShowFavoritesUrlList()
{
m_list.InsertColumn(0, _T("收藏名称"), LVCFMT_LEFT, 200);
m_list.InsertColumn(1, _T("Url"), LVCFMT_LEFT, 300);
m_list.InsertColumnL(0, _T("收藏名称"), LVCFMT_LEFT, 200);
m_list.InsertColumnL(1, _T("Url"), LVCFMT_LEFT, 300);
LPBYTE lpBuffer = (LPBYTE)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwOffset = 0;
@@ -623,14 +623,14 @@ void CMachineDlg::ShowFavoritesUrlList()
void CMachineDlg::ShowServiceList()
{
m_list.InsertColumn(0, _T("显示名称"), LVCFMT_LEFT, 150);
m_list.InsertColumn(1, _T("描述"), LVCFMT_LEFT, 200);
m_list.InsertColumn(2, _T("状态"), LVCFMT_LEFT, 70);
m_list.InsertColumn(3, _T("启动类型"), LVCFMT_LEFT, 85);
m_list.InsertColumn(4, _T("登陆身份"), LVCFMT_LEFT, 135);
m_list.InsertColumn(5, _T("桌面交互"), LVCFMT_LEFT, 60);
m_list.InsertColumn(6, _T("服务名"), LVCFMT_LEFT, 140);
m_list.InsertColumn(7, _T("可执行文件路径"), LVCFMT_LEFT, 400);
m_list.InsertColumnL(0, _T("显示名称"), LVCFMT_LEFT, 150);
m_list.InsertColumnL(1, _T("描述"), LVCFMT_LEFT, 200);
m_list.InsertColumnL(2, _T("状态"), LVCFMT_LEFT, 70);
m_list.InsertColumnL(3, _T("启动类型"), LVCFMT_LEFT, 85);
m_list.InsertColumnL(4, _T("登陆身份"), LVCFMT_LEFT, 135);
m_list.InsertColumnL(5, _T("桌面交互"), LVCFMT_LEFT, 60);
m_list.InsertColumnL(6, _T("服务名"), LVCFMT_LEFT, 140);
m_list.InsertColumnL(7, _T("可执行文件路径"), LVCFMT_LEFT, 400);
char* lpBuffer = (char*)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwOffset = 0;
@@ -660,22 +660,22 @@ void CMachineDlg::ShowServiceList()
}
CString strMsgShow;
if (i <= 0) {
strMsgShow.Format(_T("无权限或无数据"));
strMsgShow.FormatL(_T("无权限或无数据"));
} else {
strMsgShow.Format(_T("共 %d 个服务"), i);
strMsgShow.FormatL(_T("共 %d 个服务"), i);
}
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(strMsgShow), 0);
}
void CMachineDlg::ShowTaskList()
{
m_list.InsertColumn(0, _T("序号"), LVCFMT_LEFT, 50);
m_list.InsertColumn(1, _T("目录"), LVCFMT_LEFT, 200);
m_list.InsertColumn(2, _T("任务名称"), LVCFMT_LEFT, 300);
m_list.InsertColumn(3, _T("程序路径"), LVCFMT_LEFT, 400);
m_list.InsertColumn(4, _T("状态"), LVCFMT_LEFT, 50);
m_list.InsertColumn(5, _T("最后执行时间"), LVCFMT_LEFT, 130);
m_list.InsertColumn(6, _T("下次执行时间"), LVCFMT_LEFT, 130);
m_list.InsertColumnL(0, _T("序号"), LVCFMT_LEFT, 50);
m_list.InsertColumnL(1, _T("目录"), LVCFMT_LEFT, 200);
m_list.InsertColumnL(2, _T("任务名称"), LVCFMT_LEFT, 300);
m_list.InsertColumnL(3, _T("程序路径"), LVCFMT_LEFT, 400);
m_list.InsertColumnL(4, _T("状态"), LVCFMT_LEFT, 50);
m_list.InsertColumnL(5, _T("最后执行时间"), LVCFMT_LEFT, 130);
m_list.InsertColumnL(6, _T("下次执行时间"), LVCFMT_LEFT, 130);
BYTE* lpBuffer = (BYTE*)(m_ContextObject->m_DeCompressionBuffer.GetBuffer() + 1);
DATE lasttime = 0;
@@ -690,7 +690,7 @@ void CMachineDlg::ShowTaskList()
lasttime = *((DATE*)(status + lstrlen(status) + 1));
nexttime = *((DATE*)((CHAR*)(status + lstrlen(status) + 1) + sizeof(DATE)));
ULONGLONG a = *((ULONGLONG*)(&lasttime));
str.Format(_T("%d"), i + 1);
str.FormatL(_T("%d"), i + 1);
if(!m_list.GetSafeHwnd())
continue;
m_list.InsertItem(i, str);
@@ -718,7 +718,7 @@ void CMachineDlg::ShowTaskList()
void CMachineDlg::ShowHostsList()
{
m_list.InsertColumn(0, _T("数据"), LVCFMT_LEFT, 600);
m_list.InsertColumnL(0, _T("数据"), LVCFMT_LEFT, 600);
LPBYTE lpBuffer = (LPBYTE)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
int i = 0;
@@ -738,7 +738,7 @@ void CMachineDlg::ShowHostsList()
void CMachineDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
__super::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
if (IsWindowVisible())
@@ -831,18 +831,18 @@ void CMachineDlg::ShowProcessList_menu()
{
CMenu menu;
VERIFY(menu.CreatePopupMenu());
menu.AppendMenu(MF_STRING | MF_ENABLED, 50, _T("刷新数据(&F)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 100, _T("复制数据(&V)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenu(MF_STRING | MF_ENABLED, 200, _T("删除文件(&C)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 300, _T("结束进程(&E)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenu(MF_STRING | MF_ENABLED, 400, _T("冻结进程(&D)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 500, _T("解冻进程(&J)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenu(MF_STRING | MF_ENABLED, 600, _T("强删文件(&Q)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenu(MF_STRING | MF_ENABLED, 700, _T("注入管理(&I)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 50, _T("刷新数据(&F)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 100, _T("复制数据(&V)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 200, _T("删除文件(&C)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 300, _T("结束进程(&E)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 400, _T("冻结进程(&D)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 500, _T("解冻进程(&J)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 600, _T("强删文件(&Q)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 700, _T("注入管理(&I)"));
CPoint p;
GetCursorPos(&p);
@@ -870,7 +870,7 @@ void CMachineDlg::ShowProcessList_menu()
Data += _T("\r\n");
}
SetClipboardText(Data);
MessageBox(_T("已复制数据到剪切板!"), "提示");
MessageBoxL(_T("已复制数据到剪切板!"), "提示", MB_ICONINFORMATION);
}
break;
case 200: {
@@ -989,21 +989,21 @@ void CMachineDlg::ShowWindowsList_menu()
{
CMenu menu;
VERIFY(menu.CreatePopupMenu());
menu.AppendMenu(MF_STRING | MF_ENABLED, 50, _T("刷新数据(&F)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 100, _T("复制数据(&V)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenu(MF_STRING | MF_ENABLED, 200, _T("还原窗口(&H)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 300, _T("隐藏窗口(&Y)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 400, _T("关闭窗口(&E)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenu(MF_STRING | MF_ENABLED, 500, _T("最 大 化(&M)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 600, _T("最 小 化(&I)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenu(MF_STRING | MF_ENABLED, 700, _T("冻结进程(&D)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 800, _T("解冻进程(&J)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenu(MF_STRING | MF_ENABLED, 900, _T("结束进程(&E)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 50, _T("刷新数据(&F)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 100, _T("复制数据(&V)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 200, _T("还原窗口(&H)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 300, _T("隐藏窗口(&Y)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 400, _T("关闭窗口(&E)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 500, _T("最 大 化(&M)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 600, _T("最 小 化(&I)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 700, _T("冻结进程(&D)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 800, _T("解冻进程(&J)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 900, _T("结束进程(&E)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
CPoint p;
GetCursorPos(&p);
int nMenuResult = ::TrackPopupMenu(menu, TPM_LEFTALIGN | TPM_RIGHTBUTTON | TPM_RETURNCMD, p.x, p.y, 0, GetSafeHwnd(), NULL);
@@ -1030,7 +1030,7 @@ void CMachineDlg::ShowWindowsList_menu()
Data += _T("\r\n");
}
SetClipboardText(Data);
MessageBox(_T("已复制数据到剪切板!"), "提示");
MessageBoxL(_T("已复制数据到剪切板!"), "提示", MB_ICONINFORMATION);
}
break;
case 200: {
@@ -1040,7 +1040,7 @@ void CMachineDlg::ShowWindowsList_menu()
ZeroMemory(lpMsgBuf, 20);
lpMsgBuf[0] = COMMAND_WINDOW_OPERATE;
DWORD hwnd = _tstoi(m_list.GetItemText(nItem, 1));
m_list.SetItemText(nItem, 3, _T("发送还原命令"));
m_list.SetItemTextL(nItem, 3, "发送还原命令");
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
DWORD dHow = SW_RESTORE;
memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD));
@@ -1055,7 +1055,7 @@ void CMachineDlg::ShowWindowsList_menu()
ZeroMemory(lpMsgBuf, 20);
lpMsgBuf[0] = COMMAND_WINDOW_OPERATE;
DWORD hwnd = _tstoi(m_list.GetItemText(nItem, 1));
m_list.SetItemText(nItem, 3, _T("发送隐藏命令"));
m_list.SetItemTextL(nItem, 3, "发送隐藏命令");
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
DWORD dHow = SW_HIDE;
memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD));
@@ -1071,7 +1071,7 @@ void CMachineDlg::ShowWindowsList_menu()
ZeroMemory(lpMsgBuf, 20);
lpMsgBuf[0] = COMMAND_WINDOW_CLOSE;
DWORD hwnd = _tstoi(m_list.GetItemText(nItem, 1));
m_list.SetItemText(nItem, 3, _T("发送关闭命令"));
m_list.SetItemTextL(nItem, 3, "发送关闭命令");
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
m_ContextObject->Send2Client(lpMsgBuf, sizeof(lpMsgBuf));
}
@@ -1084,7 +1084,7 @@ void CMachineDlg::ShowWindowsList_menu()
ZeroMemory(lpMsgBuf, 20);
lpMsgBuf[0] = COMMAND_WINDOW_OPERATE;
DWORD hwnd = _tstoi(m_list.GetItemText(nItem, 1));
m_list.SetItemText(nItem, 3, _T("发送最大化命令"));
m_list.SetItemTextL(nItem, 3, "发送最大化命令");
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
DWORD dHow = SW_MAXIMIZE;
memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD));
@@ -1099,7 +1099,7 @@ void CMachineDlg::ShowWindowsList_menu()
ZeroMemory(lpMsgBuf, 20);
lpMsgBuf[0] = COMMAND_WINDOW_OPERATE;
DWORD hwnd = _tstoi(m_list.GetItemText(nItem, 1));
m_list.SetItemText(nItem, 3, _T("发送最小化命令"));
m_list.SetItemTextL(nItem, 3, "发送最小化命令");
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
DWORD dHow = SW_MINIMIZE;
memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD));
@@ -1163,10 +1163,10 @@ void CMachineDlg::ShowNetStateList_menu()
{
CMenu menu;
VERIFY(menu.CreatePopupMenu());
menu.AppendMenu(MF_STRING | MF_ENABLED, 50, _T("刷新数据(&F)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 100, _T("复制数据(&V)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 150, _T("结束进程(&C)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 50, _T("刷新数据(&F)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 100, _T("复制数据(&V)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 150, _T("结束进程(&C)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
CPoint p;
GetCursorPos(&p);
int nMenuResult = ::TrackPopupMenu(menu, TPM_LEFTALIGN | TPM_RIGHTBUTTON | TPM_RETURNCMD, p.x, p.y, 0, GetSafeHwnd(), NULL);
@@ -1193,7 +1193,7 @@ void CMachineDlg::ShowNetStateList_menu()
Data += _T("\r\n");
}
SetClipboardText(Data);
MessageBox(_T("已复制数据到剪切板!"), "提示");
MessageBoxL(_T("已复制数据到剪切板!"), "提示", MB_ICONINFORMATION);
}
break;
case 150: {
@@ -1220,10 +1220,10 @@ void CMachineDlg::ShowSoftWareList_menu()
{
CMenu menu;
VERIFY(menu.CreatePopupMenu());
menu.AppendMenu(MF_STRING | MF_ENABLED, 50, _T("刷新数据(&F)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 100, _T("复制数据(&V)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 200, _T("卸载程序(&X)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 50, _T("刷新数据(&F)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 100, _T("复制数据(&V)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 200, _T("卸载程序(&X)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
CPoint p;
GetCursorPos(&p);
int nMenuResult = ::TrackPopupMenu(menu, TPM_LEFTALIGN | TPM_RIGHTBUTTON | TPM_RETURNCMD, p.x, p.y, 0, GetSafeHwnd(), NULL);
@@ -1250,7 +1250,7 @@ void CMachineDlg::ShowSoftWareList_menu()
Data += _T("\r\n");
}
SetClipboardText(Data);
MessageBox(_T("已复制数据到剪切板!"), "提示");
MessageBoxL(_T("已复制数据到剪切板!"), "提示", MB_ICONINFORMATION);
}
break;
case 200: {
@@ -1258,7 +1258,7 @@ void CMachineDlg::ShowSoftWareList_menu()
return;
}
if (MessageBox(_T("确定要卸载该程序?"), _T("提示"), MB_YESNO | MB_ICONQUESTION) == IDNO)
if (MessageBoxL(_T("确定要卸载该程序?"), _T("提示"), MB_YESNO | MB_ICONQUESTION) == IDNO)
return;
POSITION pos = m_list.GetFirstSelectedItemPosition();
@@ -1290,10 +1290,10 @@ void CMachineDlg::ShowIEHistoryList_menu()
{
CMenu menu;
VERIFY(menu.CreatePopupMenu());
menu.AppendMenu(MF_STRING | MF_ENABLED, 50, _T("刷新数据(&F)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 100, _T("复制数据(&V)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 50, _T("刷新数据(&F)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 100, _T("复制数据(&V)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenuSeparator(MF_SEPARATOR);
CPoint p;
GetCursorPos(&p);
int nMenuResult = ::TrackPopupMenu(menu, TPM_LEFTALIGN | TPM_RIGHTBUTTON | TPM_RETURNCMD, p.x, p.y, 0, GetSafeHwnd(), NULL);
@@ -1320,7 +1320,7 @@ void CMachineDlg::ShowIEHistoryList_menu()
Data += _T("\r\n");
}
SetClipboardText(Data);
MessageBox(_T("已复制数据到剪切板!"), "提示");
MessageBoxL(_T("已复制数据到剪切板!"), "提示", MB_ICONINFORMATION);
}
break;
@@ -1335,11 +1335,11 @@ void CMachineDlg::ShowTaskList_menu()
{
CMenu menu;
VERIFY(menu.CreatePopupMenu());
menu.AppendMenu(MF_STRING | MF_ENABLED, 100, _T("&(R)执行任务"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 101, _T("&(T)停止任务"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 102, _T("&(D)删除任务"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 103, _T("&(C)创建任务"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 104, _T("&(F)刷新任务"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 100, _T("&(R)执行任务"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 101, _T("&(T)停止任务"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 102, _T("&(D)删除任务"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 103, _T("&(C)创建任务"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 104, _T("&(F)刷新任务"));
CPoint p;
GetCursorPos(&p);
int nMenuResult = menu.TrackPopupMenu(TPM_RETURNCMD | TPM_LEFTALIGN | TPM_RIGHTBUTTON, p.x, p.y, this, NULL);
@@ -1478,10 +1478,10 @@ void CMachineDlg::ShowFavoritesUrlList_menu()
{
CMenu menu;
VERIFY(menu.CreatePopupMenu());
menu.AppendMenu(MF_STRING | MF_ENABLED, 50, _T("刷新数据(&F)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 100, _T("复制数据(&V)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 50, _T("刷新数据(&F)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 100, _T("复制数据(&V)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenuSeparator(MF_SEPARATOR);
CPoint p;
GetCursorPos(&p);
int nMenuResult = ::TrackPopupMenu(menu, TPM_LEFTALIGN | TPM_RIGHTBUTTON | TPM_RETURNCMD, p.x, p.y, 0, GetSafeHwnd(), NULL);
@@ -1508,7 +1508,7 @@ void CMachineDlg::ShowFavoritesUrlList_menu()
Data += _T("\r\n");
}
SetClipboardText(Data);
MessageBox(_T("已复制数据到剪切板!"), "提示");
MessageBoxL(_T("已复制数据到剪切板!"), "提示", MB_ICONINFORMATION);
}
break;
default:
@@ -1522,17 +1522,17 @@ void CMachineDlg::ShowServiceList_menu()
{
CMenu menu;
VERIFY(menu.CreatePopupMenu());
menu.AppendMenu(MF_STRING | MF_ENABLED, 100, _T("启动(&S)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 200, _T("停止(&O)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 300, _T("暂停(&U)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 400, _T("恢复(&M)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 500, _T("重新启动(&E)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenu(MF_STRING | MF_ENABLED, 600, _T("刷新(&R)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenu(MF_STRING | MF_ENABLED, 700, _T("属性(&R)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenu(MF_STRING | MF_ENABLED, 800, _T("删除服务(&D)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 100, _T("启动(&S)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 200, _T("停止(&O)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 300, _T("暂停(&U)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 400, _T("恢复(&M)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 500, _T("重新启动(&E)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 600, _T("刷新(&R)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 700, _T("属性(&R)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 800, _T("删除服务(&D)"));
CPoint p;
GetCursorPos(&p);
int nMenuResult = ::TrackPopupMenu(menu, TPM_LEFTALIGN | TPM_RIGHTBUTTON | TPM_RETURNCMD, p.x, p.y, 0, GetSafeHwnd(), NULL);
@@ -1585,11 +1585,11 @@ void CMachineDlg::ShowHostsList_menu()
{
CMenu menu;
VERIFY(menu.CreatePopupMenu());
menu.AppendMenu(MF_STRING | MF_ENABLED, 50, _T("刷新数据(&F)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 100, _T("复制数据(&V)"));
menu.AppendMenu(MF_SEPARATOR, NULL);
menu.AppendMenu(MF_STRING | MF_ENABLED, 200, _T("修改远程文件(&S)"));
menu.AppendMenu(MF_STRING | MF_ENABLED, 300, _T("加载本地文件(&S)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 50, _T("刷新数据(&F)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 100, _T("复制数据(&V)"));
menu.AppendMenuSeparator(MF_SEPARATOR);
menu.AppendMenuL(MF_STRING | MF_ENABLED, 200, _T("修改远程文件(&S)"));
menu.AppendMenuL(MF_STRING | MF_ENABLED, 300, _T("加载本地文件(&S)"));
CPoint p;
GetCursorPos(&p);
int nMenuResult = ::TrackPopupMenu(menu, TPM_LEFTALIGN | TPM_RIGHTBUTTON | TPM_RETURNCMD, p.x, p.y, 0, GetSafeHwnd(), NULL);
@@ -1616,7 +1616,7 @@ void CMachineDlg::ShowHostsList_menu()
Data += _T("\r\n");
}
SetClipboardText(Data);
MessageBox(_T("已复制数据到剪切板!"), "提示");
MessageBoxL(_T("已复制数据到剪切板!"), "提示", MB_ICONINFORMATION);
}
break;
case 200: {
@@ -1643,7 +1643,7 @@ void CMachineDlg::ShowHostsList_menu()
LPBYTE lpBuffer = NULL;
CFileDialog dlg(TRUE, _T("*.txt"), NULL, OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY,
_T("图片文件(*.txt;*.txt)|*.txt;*.txt| All Files (*.*) |*.*||"), NULL);
dlg.m_ofn.lpstrTitle = _T("选择文件");
dlg.m_ofn.lpstrTitle = _L(_T("选择文件"));
if (dlg.DoModal() != IDOK)
break;
@@ -1691,7 +1691,7 @@ CString CMachineDlg::oleTime2Str(double time)
time_t t = (time_t)(time * 24 * 3600 - 2209190400);
struct tm tm1;
localtime_s(&tm1, &t);
str.Format(_T("%04d-%02d-%02d %02d:%02d:%02d"), tm1.tm_year + 1900, tm1.tm_mon + 1,
str.FormatL(_T("%04d-%02d-%02d %02d:%02d:%02d"), tm1.tm_year + 1900, tm1.tm_mon + 1,
tm1.tm_mday, tm1.tm_hour, tm1.tm_min, tm1.tm_sec);
}
return str;

View File

@@ -11,7 +11,7 @@
CServiceInfoDlg::CServiceInfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(CServiceInfoDlg::IDD, pParent)
: CDialogLang(CServiceInfoDlg::IDD, pParent)
{
m_hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_SERVICE));
}
@@ -19,7 +19,7 @@ CServiceInfoDlg::CServiceInfoDlg(CWnd* pParent /*=NULL*/)
void CServiceInfoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
__super::DoDataExchange(pDX);
DDX_Control(pDX, IDC_COMBO_RUNWAY, m_combox_runway);
}
@@ -37,15 +37,15 @@ END_MESSAGE_MAP()
BOOL CServiceInfoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
__super::OnInitDialog();
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
m_combox_runway.InsertString(0, _T("自动")); // 0
m_combox_runway.InsertString(1, _T("手动")); // 1
m_combox_runway.InsertString(2, _T("已禁用")); // 2
m_combox_runway.InsertStringL(0, _T("自动")); // 0
m_combox_runway.InsertStringL(1, _T("手动")); // 1
m_combox_runway.InsertStringL(2, _T("已禁用")); // 2
SetDlgItemText(IDC_EDIT_SERNAME, m_ServiceInfo.strSerName);
SetDlgItemText(IDC_EDIT_SERDISPLAYNAME, m_ServiceInfo.strSerDisPlayname);

View File

@@ -1,5 +1,6 @@
#pragma once
#include "MachineDlg.h"
#include "LangManager.h"
/////////////////////////////////////////////////////////////////////////////
// CServiceInfoDlg dialog
@@ -13,7 +14,7 @@ typedef struct {
CString strSerState;
} SERVICEINFO;
class CServiceInfoDlg : public CDialog
class CServiceInfoDlg : public CDialogLang
{
public:
CServiceInfoDlg(CWnd* pParent = NULL);