Fix: Check time to make reassigned client restore immediately

This commit is contained in:
yuanyuanxiang
2026-01-19 23:12:10 +01:00
parent 5fc9ef1eb0
commit 51c0658e18
5 changed files with 71 additions and 3 deletions

Binary file not shown.

View File

@@ -573,6 +573,10 @@ BEGIN_MESSAGE_MAP(CMy2015RemoteDlg, CDialogEx)
ON_COMMAND(ID_HOOK_WIN, &CMy2015RemoteDlg::OnHookWin)
ON_COMMAND(ID_RUNAS_SERVICE, &CMy2015RemoteDlg::OnRunasService)
ON_COMMAND(ID_HISTORY_CLIENTS, &CMy2015RemoteDlg::OnHistoryClients)
ON_COMMAND(ID_BACKUP_DATA, &CMy2015RemoteDlg::OnBackupData)
ON_COMMAND(ID_PLUGIN_REQUEST, &CMy2015RemoteDlg::OnPluginRequest)
ON_COMMAND(ID_CHANGE_LANG, &CMy2015RemoteDlg::OnChangeLang)
ON_COMMAND(ID_IMPORT_DATA, &CMy2015RemoteDlg::OnImportData)
END_MESSAGE_MAP()
@@ -4784,3 +4788,44 @@ void CMy2015RemoteDlg::OnHistoryClients()
m_pClientListDlg->ShowWindow(SW_SHOW);
}
}
void CMy2015RemoteDlg::OnBackupData()
{
MessageBoxA("如果更换主控IP必须将主机迁移到新的主控IP名下。注意更换主控程序的机器可能导致授权失效!"
"请将数据库文件拷贝到目标机器,否则将丢失全部备注信息。", "提示");
std::filesystem::path path = GetDbPath();
std::filesystem::path dir = path.parent_path();
ShellExecuteW(NULL, L"open", dir.c_str(), NULL, NULL, SW_SHOWNORMAL);
}
void CMy2015RemoteDlg::OnPluginRequest()
{
TODO_NOTICE;
}
void CMy2015RemoteDlg::OnChangeLang()
{
TODO_NOTICE;
}
void CMy2015RemoteDlg::OnImportData()
{
if (IDOK!=MessageBoxA("导入主控程序的历史主机记录。此操作会覆盖本机的历史记录,请仅在迁移主控程序时进行操作。"
"数据库文件仅用于恢复主机备注信息。是否继续?", "提示",IDOK)) return;
CFileDialog fileDlg(TRUE, NULL, "YAMA.db", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
_T("YAMA DB (*.db)|*.db|All Files (*.*)|*.*||"), AfxGetMainWnd());
int ret = 0;
try {
ret = fileDlg.DoModal();
}
catch (...) {
AfxMessageBox("文件对话框未成功打开! 请稍后再试。", MB_ICONWARNING);
return;
}
if (ret == IDOK) {
CString name = fileDlg.GetPathName();
auto backup = GetDbPath() + "." + ToPekingDateTime(0);
CopyFileA(GetDbPath().c_str(), backup.c_str(), FALSE);
m_ClientMap->LoadFromFile(name.GetString());
}
}

View File

@@ -313,4 +313,8 @@ public:
afx_msg void OnHookWin();
afx_msg void OnRunasService();
afx_msg void OnHistoryClients();
afx_msg void OnBackupData();
afx_msg void OnPluginRequest();
afx_msg void OnChangeLang();
afx_msg void OnImportData();
};

View File

@@ -629,6 +629,14 @@
#define ID_DOWNLOAD_SERVERPORT 32996
#define ID_32997 32997
#define ID_HISTORY_CLIENTS 32998
#define ID_32999 32999
#define ID_BACKUP_DATA 33000
#define ID_33001 33001
#define ID_PLUGIN_REQUEST 33002
#define ID_33003 33003
#define ID_CHANGE_LANG 33004
#define ID_33005 33005
#define ID_IMPORT_DATA 33006
#define ID_EXIT_FULLSCREEN 40001
// Next default values for new objects
@@ -636,7 +644,7 @@
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 326
#define _APS_NEXT_COMMAND_VALUE 32999
#define _APS_NEXT_COMMAND_VALUE 33007
#define _APS_NEXT_CONTROL_VALUE 2228
#define _APS_NEXT_SYMED_VALUE 105
#endif