From 2840c9a37869d4458368bad236d924f4a6d46359 Mon Sep 17 00:00:00 2001 From: JiXieShi Date: Mon, 8 Sep 2025 13:59:24 +0800 Subject: [PATCH] UP --- CMakeLists.txt | 91 +++++ app/inc/AppState.h | 51 +++ app/inc/CLIProcess.h | 92 +++++ app/inc/Manager.h | 97 +++++ app/inc/TrayIcon.h | 42 +++ app/inc/Units.h | 11 + app/src/AppState.cpp | 188 +++++++++ app/src/CLIProcess.cpp | 603 +++++++++++++++++++++++++++++ app/src/Manager.cpp | 838 +++++++++++++++++++++++++++++++++++++++++ app/src/TrayIcon.cpp | 134 +++++++ app/src/Units.cpp | 55 +++ img/img1.png | Bin 0 -> 150318 bytes img/img2.png | Bin 0 -> 93400 bytes img/img3.png | Bin 0 -> 16941 bytes main.cpp | 11 + readme.md | 11 + 16 files changed, 2224 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 app/inc/AppState.h create mode 100644 app/inc/CLIProcess.h create mode 100644 app/inc/Manager.h create mode 100644 app/inc/TrayIcon.h create mode 100644 app/inc/Units.h create mode 100644 app/src/AppState.cpp create mode 100644 app/src/CLIProcess.cpp create mode 100644 app/src/Manager.cpp create mode 100644 app/src/TrayIcon.cpp create mode 100644 app/src/Units.cpp create mode 100644 img/img1.png create mode 100644 img/img2.png create mode 100644 img/img3.png create mode 100644 main.cpp create mode 100644 readme.md diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..9f6107c --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,91 @@ +cmake_minimum_required(VERSION 3.31) +project(CLI_Manager) + +set(CMAKE_CXX_STANDARD 20) +#set(CMAKE_CXX_STANDARD_REQUIRED ON) + +set(IMGUI_DIR $ENV{LIB_HOME}/imgui-docking) +set(GLFW_DIR $ENV{LIB_HOME}/glfw) + +set(IMGUI_BACKENDS "glfw_opengl") +#set(IMGUI_BACKENDS "win32_dx11") + +#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static") + +set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++") + +add_definitions(-DUNICODE -D_UNICODE) + + +# add header path +include_directories( + ${IMGUI_DIR} + ${IMGUI_DIR}/backends + ${IMGUI_DIR}/misc/cpp + app/inc +) + +# set common source +file(GLOB SRC + ${IMGUI_DIR}/*.cpp + ${IMGUI_DIR}/misc/cpp/*.cpp + app/src/*.* + main.cpp +) + + +if(IMGUI_BACKENDS STREQUAL "glfw_opengl") + add_definitions(-DIMGUI_IMPL_OPENGL_LOADER_GL3W) + + include_directories( + ${GLFW_DIR}/include + ${IMGUI_DIR}/examples/libs/gl3w # for GL/gl3w.h + ) + + file(GLOB PLATFORM_SRC + ${IMGUI_DIR}/examples/libs/gl3w/GL/gl3w.* + ${IMGUI_DIR}/backends/imgui_impl_glfw.* + ${IMGUI_DIR}/backends/imgui_impl_opengl3.* + ) + + link_directories( + ${GLFW_DIR}/build/src + ) +endif() + +# 链接库和选项 +if(IMGUI_BACKENDS STREQUAL "win32_dx11") + add_definitions(-DUSE_WIN32_BACKEND) + file(GLOB PLATFORM_SRC + ${IMGUI_DIR}/backends/imgui_impl_win32.* + ${IMGUI_DIR}/backends/imgui_impl_dx11.* + ) +endif() + +# generate binary +add_executable(${PROJECT_NAME} WIN32 ${SRC} ${PLATFORM_SRC}) + +if(IMGUI_BACKENDS STREQUAL "glfw_opengl") + target_link_libraries(${PROJECT_NAME} + glfw3.a + opengl32 + ) +endif() +# 链接库和选项 +if(IMGUI_BACKENDS STREQUAL "win32_dx11") + target_link_libraries(${PROJECT_NAME} + d3d11 + dxgi + user32 + gdi32 + ole32 + dwmapi + d3dcompiler + ) +endif() + +# 设置链接选项 +#set_target_properties(${PROJECT_NAME} PROPERTIES +# LINK_FLAGS "-static -Wl,-subsystem,windows" +#) +# diff --git a/app/inc/AppState.h b/app/inc/AppState.h new file mode 100644 index 0000000..bcfa38f --- /dev/null +++ b/app/inc/AppState.h @@ -0,0 +1,51 @@ +#ifndef APP_STATE_H +#define APP_STATE_H + +#include "CLIProcess.h" +#include +#include +#include + +class AppState { +public: + AppState(); + ~AppState() = default; + + void LoadSettings(); + void SaveSettings(); + void ApplySettings(); + + bool show_main_window; + bool auto_start; + CLIProcess cli_process; + char command_input[256]{}; + char send_command[256]{}; + bool auto_scroll_logs; + int max_log_lines; + char web_url[256]{}; + + // 停止命令相关配置 + char stop_command[256]{}; + int stop_timeout_ms; + bool use_stop_command; + + // 环境变量相关配置 + std::map environment_variables; + bool use_custom_environment; + + // 新增:输出编码相关配置 + OutputEncoding output_encoding; + + bool settings_dirty; + +private: + // 环境变量序列化辅助函数 + std::string SerializeEnvironmentVariables() const; + void DeserializeEnvironmentVariables(const std::string& serialized); + + // 新增:编码序列化辅助函数 + std::string SerializeOutputEncoding() const; + void DeserializeOutputEncoding(const std::string& serialized); +}; + +#endif // APP_STATE_H \ No newline at end of file diff --git a/app/inc/CLIProcess.h b/app/inc/CLIProcess.h new file mode 100644 index 0000000..da5e5ea --- /dev/null +++ b/app/inc/CLIProcess.h @@ -0,0 +1,92 @@ +#ifndef CLIPROCESS_H +#define CLIPROCESS_H + +#include +#include +#include +#include +#include +#include + +// 新增:输出编码枚举 +enum class OutputEncoding { + UTF8 = 0, + GBK, + GB2312, + BIG5, + SHIFT_JIS, + AUTO_DETECT +}; + +class CLIProcess { +public: + CLIProcess(); + ~CLIProcess(); + + void SetMaxLogLines(int max_lines); + void SetStopCommand(const std::string& command, int timeout_ms = 5000); + void SetEnvironmentVariables(const std::map& env_vars); + void SetOutputEncoding(OutputEncoding encoding); // 新增:设置输出编码 + + void Start(const std::string& command); + void Stop(); + void Restart(const std::string& command); + + void ClearLogs(); + void AddLog(const std::string& log); + const std::vector& GetLogs() const; + + bool SendCommand(const std::string& command); + void CopyLogsToClipboard() const; + + bool IsRunning() const; + + // 环境变量管理接口 + const std::map& GetEnvironmentVariables() const; + void AddEnvironmentVariable(const std::string& key, const std::string& value); + void RemoveEnvironmentVariable(const std::string& key); + void ClearEnvironmentVariables(); + + // 新增:编码相关接口 + OutputEncoding GetOutputEncoding() const; + static std::string GetEncodingName(OutputEncoding encoding); + static std::vector> GetSupportedEncodings(); + +private: + void ReadOutput(); + void CloseProcessHandles(); + void CleanupResources(); + + // 新增:编码转换相关方法 + std::string ConvertToUTF8(const std::string& input, OutputEncoding encoding); + std::string DetectAndConvertToUTF8(const std::string& input); + UINT GetCodePageFromEncoding(OutputEncoding encoding); + bool IsValidUTF8(const std::string& str); + + PROCESS_INFORMATION pi_{}; + HANDLE hReadPipe_{}; + HANDLE hWritePipe_{}; + HANDLE hReadPipe_stdin_{}; + HANDLE hWritePipe_stdin_; + + mutable std::mutex logs_mutex_; + std::vector logs_; + int max_log_lines_; + + std::thread output_thread_; + + // 停止命令相关 + std::mutex stop_mutex_; + std::string stop_command_; + int stop_timeout_ms_; + + // 环境变量相关 + mutable std::mutex env_mutex_; + std::map environment_variables_; + + // 新增:编码相关 + mutable std::mutex encoding_mutex_; + OutputEncoding output_encoding_; +}; + +#endif // CLIPROCESS_H \ No newline at end of file diff --git a/app/inc/Manager.h b/app/inc/Manager.h new file mode 100644 index 0000000..fa6c5ee --- /dev/null +++ b/app/inc/Manager.h @@ -0,0 +1,97 @@ +#pragma once + +#include "imgui.h" +#include "AppState.h" +#include "TrayIcon.h" + +#ifdef USE_WIN32_BACKEND +#include +#include +#include "imgui_impl_win32.h" +#include "imgui_impl_dx11.h" +#else +#define GLFW_EXPOSE_NATIVE_WIN32 +#include +#include +#include "imgui_impl_glfw.h" +#include "imgui_impl_opengl3.h" +#include +#endif + +#include + +class Manager { +public: + Manager(); + ~Manager(); + + bool Initialize(); + void Run(); + void Shutdown(); + + void OnTrayShowWindow(); + void OnTrayExit(); + + AppState m_app_state; +private: + // UI渲染 + void RenderUI(); + void RenderMenuBar(); + void RenderMainContent(); + void RenderSettingsMenu(); + void RenderStopCommandSettings(); + void RenderEnvironmentVariablesSettings(); + void RenderOutputEncodingSettings(); // 新增:输出编码设置UI + + // 事件处理 + void HandleMessages(); + bool ShouldExit() const; + void ShowMainWindow(); + void HideMainWindow(); + + // 平台相关初始化 +#ifdef USE_WIN32_BACKEND + bool InitializeWin32(); + bool InitializeDirectX11(); + void CleanupWin32(); + void CleanupDirectX11(); + static LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); + + HWND m_hwnd = nullptr; + WNDCLASSEX m_wc = {}; + ID3D11Device* m_pd3dDevice = nullptr; + ID3D11DeviceContext* m_pd3dDeviceContext = nullptr; + IDXGISwapChain* m_pSwapChain = nullptr; + ID3D11RenderTargetView* m_mainRenderTargetView = nullptr; +#else + bool InitializeGLFW(); + void CleanupGLFW(); + static void GlfwErrorCallback(int error, const char* description); + + GLFWwindow* m_window = nullptr; + const char* m_glsl_version = nullptr; +#endif + + // 托盘相关 + bool InitializeTray(); + void CleanupTray(); + static HWND CreateHiddenWindow(); + + std::unique_ptr m_tray; + HWND m_tray_hwnd = nullptr; + + // 控制标志 + bool m_should_exit = false; + bool m_initialized = false; + + // DPI缩放因子 + float m_dpi_scale = 1.0f; + + // 环境变量UI状态 + char env_key_input_[256] = {}; + char env_value_input_[512] = {}; + bool show_env_settings_ = false; + + // 新增:编码设置UI状态 + bool show_encoding_settings_ = false; +}; \ No newline at end of file diff --git a/app/inc/TrayIcon.h b/app/inc/TrayIcon.h new file mode 100644 index 0000000..736da02 --- /dev/null +++ b/app/inc/TrayIcon.h @@ -0,0 +1,42 @@ +#pragma once +#include +#include +#include +#include + +class TrayIcon { +public: + // 回调函数类型定义 + using ShowWindowCallback = std::function; + using ExitCallback = std::function; + + TrayIcon(HWND hwnd, HICON icon); + ~TrayIcon(); + + void Show(); + void Hide(); + void UpdateWebUrl(const std::wstring& url); + + // 设置回调函数 + void SetShowWindowCallback(const ShowWindowCallback &callback); + void SetExitCallback(const ExitCallback &callback); + + // 静态窗口过程 + static LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); + +private: + void CreateMenu(); + void DestroyMenu(); + void ShowContextMenu() const; + + HWND m_hwnd; + HICON m_icon; + NOTIFYICONDATA m_nid{}; + std::wstring m_web_url; + bool m_visible; + HMENU m_menu; + + // 回调函数 + ShowWindowCallback m_show_window_callback; + ExitCallback m_exit_callback; +}; \ No newline at end of file diff --git a/app/inc/Units.h b/app/inc/Units.h new file mode 100644 index 0000000..7c6900d --- /dev/null +++ b/app/inc/Units.h @@ -0,0 +1,11 @@ +#ifndef UNITS_H +#define UNITS_H +#include + +std::wstring StringToWide(const std::string& str); +std::string WideToString(const std::wstring& wstr); +void SetAutoStart(bool enable); +bool IsAutoStartEnabled(); + + +#endif //UNITS_H diff --git a/app/src/AppState.cpp b/app/src/AppState.cpp new file mode 100644 index 0000000..7a780c6 --- /dev/null +++ b/app/src/AppState.cpp @@ -0,0 +1,188 @@ +#include "AppState.h" +#include +#include +#include + +AppState::AppState() : + show_main_window(true), + auto_start(false), + auto_scroll_logs(true), + max_log_lines(1000), + stop_timeout_ms(5000), + use_stop_command(false), + use_custom_environment(false), + output_encoding(OutputEncoding::AUTO_DETECT), // 新增:默认自动检测编码 + settings_dirty(false) { + strcpy_s(command_input, "cmd.exe"); + strcpy_s(web_url, "http://localhost:8080"); + strcpy_s(stop_command, "exit"); + memset(send_command, 0, sizeof(send_command)); +} + +std::string AppState::SerializeEnvironmentVariables() const { + std::ostringstream oss; + bool first = true; + for (const auto& pair : environment_variables) { + if (!first) { + oss << "|"; + } + oss << pair.first << "=" << pair.second; + first = false; + } + return oss.str(); +} + +void AppState::DeserializeEnvironmentVariables(const std::string& serialized) { + environment_variables.clear(); + if (serialized.empty()) return; + + std::istringstream iss(serialized); + std::string pair; + + while (std::getline(iss, pair, '|')) { + size_t equalPos = pair.find('='); + if (equalPos != std::string::npos && equalPos > 0) { + std::string key = pair.substr(0, equalPos); + std::string value = pair.substr(equalPos + 1); + environment_variables[key] = value; + } + } +} + +// 新增:序列化输出编码 +std::string AppState::SerializeOutputEncoding() const { + return std::to_string(static_cast(output_encoding)); +} + +// 新增:反序列化输出编码 +void AppState::DeserializeOutputEncoding(const std::string& serialized) { + if (serialized.empty()) { + output_encoding = OutputEncoding::AUTO_DETECT; + return; + } + + try { + int encodingValue = std::stoi(serialized); + if (encodingValue >= 0 && encodingValue <= static_cast(OutputEncoding::AUTO_DETECT)) { + output_encoding = static_cast(encodingValue); + } else { + output_encoding = OutputEncoding::AUTO_DETECT; + } + } catch (const std::exception&) { + output_encoding = OutputEncoding::AUTO_DETECT; + } +} + +void AppState::LoadSettings() { + std::ifstream file("climanager_settings.ini"); + if (!file.is_open()) return; + + std::string line; + std::string section; + + while (std::getline(file, line)) { + if (!line.empty() && line[line.size() - 1] == '\r') { + line.erase(line.size() - 1); + } + + if (line.empty()) continue; + + if (line[0] == '[' && line[line.size() - 1] == ']') { + section = line.substr(1, line.size() - 2); + } + else if (section == "Settings") { + size_t pos = line.find('='); + if (pos != std::string::npos) { + std::string key = line.substr(0, pos); + std::string value = line.substr(pos + 1); + + if (key == "CommandInput") { + strncpy_s(command_input, value.c_str(), sizeof(command_input) - 1); + } + else if (key == "MaxLogLines") { + max_log_lines = std::stoi(value); + max_log_lines = std::max(100, std::min(max_log_lines, 10000)); + } + else if (key == "AutoScrollLogs") { + auto_scroll_logs = (value == "1"); + } + else if (key == "AutoStart") { + auto_start = (value == "1"); + } + else if (key == "WebUrl") { + strncpy_s(web_url, value.c_str(), sizeof(web_url) - 1); + } + else if (key == "StopCommand") { + strncpy_s(stop_command, value.c_str(), sizeof(stop_command) - 1); + } + else if (key == "StopTimeoutMs") { + stop_timeout_ms = std::stoi(value); + stop_timeout_ms = std::max(1000, std::min(stop_timeout_ms, 60000)); + } + else if (key == "UseStopCommand") { + use_stop_command = (value == "1"); + } + else if (key == "UseCustomEnvironment") { + use_custom_environment = (value == "1"); + } + else if (key == "EnvironmentVariables") { + DeserializeEnvironmentVariables(value); + } + // 新增:输出编码配置的加载 + else if (key == "OutputEncoding") { + DeserializeOutputEncoding(value); + } + } + } + } + file.close(); +} + +void AppState::SaveSettings() { + std::ofstream file("climanager_settings.ini"); + if (!file.is_open()) return; + + file << "[Settings]\n"; + file << "CommandInput=" << command_input << "\n"; + file << "MaxLogLines=" << max_log_lines << "\n"; + file << "AutoScrollLogs=" << (auto_scroll_logs ? "1" : "0") << "\n"; + file << "AutoStart=" << (auto_start ? "1" : "0") << "\n"; + file << "WebUrl=" << web_url << "\n"; + + // 停止命令相关配置的保存 + file << "StopCommand=" << stop_command << "\n"; + file << "StopTimeoutMs=" << stop_timeout_ms << "\n"; + file << "UseStopCommand=" << (use_stop_command ? "1" : "0") << "\n"; + + // 环境变量相关配置的保存 + file << "UseCustomEnvironment=" << (use_custom_environment ? "1" : "0") << "\n"; + file << "EnvironmentVariables=" << SerializeEnvironmentVariables() << "\n"; + + // 新增:输出编码配置的保存 + file << "OutputEncoding=" << SerializeOutputEncoding() << "\n"; + + file.close(); + + settings_dirty = false; +} + +void AppState::ApplySettings() { + cli_process.SetMaxLogLines(max_log_lines); + + // 应用停止命令设置 + if (use_stop_command && strlen(stop_command) > 0) { + cli_process.SetStopCommand(stop_command, stop_timeout_ms); + } else { + cli_process.SetStopCommand("", 0); + } + + // 应用环境变量设置 + if (use_custom_environment) { + cli_process.SetEnvironmentVariables(environment_variables); + } else { + cli_process.SetEnvironmentVariables({}); + } + + // 新增:应用输出编码设置 + cli_process.SetOutputEncoding(output_encoding); +} \ No newline at end of file diff --git a/app/src/CLIProcess.cpp b/app/src/CLIProcess.cpp new file mode 100644 index 0000000..0e0bcea --- /dev/null +++ b/app/src/CLIProcess.cpp @@ -0,0 +1,603 @@ +#include "CLIProcess.h" +#include +#include + +#include "Units.h" + +CLIProcess::CLIProcess() { + ZeroMemory(&pi_, sizeof(pi_)); + max_log_lines_ = 1000; + hWritePipe_stdin_ = nullptr; + stop_timeout_ms_ = 5000; + output_encoding_ = OutputEncoding::AUTO_DETECT; // 新增:默认自动检测编码 +} + +CLIProcess::~CLIProcess() { + Stop(); +} + +// 新增:设置输出编码 +void CLIProcess::SetOutputEncoding(OutputEncoding encoding) { + std::lock_guard lock(encoding_mutex_); + output_encoding_ = encoding; + AddLog("输出编码已设置为: " + GetEncodingName(encoding)); +} + +// 新增:获取输出编码 +OutputEncoding CLIProcess::GetOutputEncoding() const { + std::lock_guard lock(encoding_mutex_); + return output_encoding_; +} + +// 新增:获取编码名称 +std::string CLIProcess::GetEncodingName(OutputEncoding encoding) { + switch (encoding) { + case OutputEncoding::UTF8: return "UTF-8"; + case OutputEncoding::GBK: return "GBK"; + case OutputEncoding::GB2312: return "GB2312"; + case OutputEncoding::BIG5: return "Big5"; + case OutputEncoding::SHIFT_JIS: return "Shift-JIS"; + case OutputEncoding::AUTO_DETECT: return "自动检测"; + default: return "未知"; + } +} + +// 新增:获取支持的编码列表 +std::vector> CLIProcess::GetSupportedEncodings() { + return { + {OutputEncoding::AUTO_DETECT, "自动检测"}, + {OutputEncoding::UTF8, "UTF-8"}, + {OutputEncoding::GBK, "GBK (简体中文)"}, + {OutputEncoding::GB2312, "GB2312 (简体中文)"}, + {OutputEncoding::BIG5, "Big5 (繁体中文)"}, + {OutputEncoding::SHIFT_JIS, "Shift-JIS (日文)"} + }; +} + +// 新增:根据编码获取代码页 +UINT CLIProcess::GetCodePageFromEncoding(OutputEncoding encoding) { + switch (encoding) { + case OutputEncoding::UTF8: return CP_UTF8; + case OutputEncoding::GBK: return 936; + case OutputEncoding::GB2312: return 20936; + case OutputEncoding::BIG5: return 950; + case OutputEncoding::SHIFT_JIS: return 932; + default: return CP_ACP; // 系统默认代码页 + } +} + +// 新增:检查是否为有效的UTF-8 +bool CLIProcess::IsValidUTF8(const std::string& str) { + const unsigned char* bytes = reinterpret_cast(str.c_str()); + size_t len = str.length(); + + for (size_t i = 0; i < len; ) { + if (bytes[i] <= 0x7F) { + // ASCII字符 + i++; + } else if ((bytes[i] & 0xE0) == 0xC0) { + // 2字节UTF-8序列 + if (i + 1 >= len || (bytes[i + 1] & 0xC0) != 0x80) return false; + i += 2; + } else if ((bytes[i] & 0xF0) == 0xE0) { + // 3字节UTF-8序列 + if (i + 2 >= len || (bytes[i + 1] & 0xC0) != 0x80 || (bytes[i + 2] & 0xC0) != 0x80) return false; + i += 3; + } else if ((bytes[i] & 0xF8) == 0xF0) { + // 4字节UTF-8序列 + if (i + 3 >= len || (bytes[i + 1] & 0xC0) != 0x80 || (bytes[i + 2] & 0xC0) != 0x80 || (bytes[i + 3] & 0xC0) != 0x80) return false; + i += 4; + } else { + return false; + } + } + return true; +} + +// 新增:转换到UTF-8 +std::string CLIProcess::ConvertToUTF8(const std::string& input, OutputEncoding encoding) { + if (input.empty()) return input; + + // 如果已经是UTF-8编码,直接返回 + if (encoding == OutputEncoding::UTF8) { + return input; + } + + UINT codePage = GetCodePageFromEncoding(encoding); + + // 先转换为宽字符 + int wideSize = MultiByteToWideChar(codePage, 0, input.c_str(), -1, nullptr, 0); + if (wideSize <= 0) { + // 转换失败,返回原始字符串 + return input; + } + + std::vector wideStr(wideSize); + if (MultiByteToWideChar(codePage, 0, input.c_str(), -1, wideStr.data(), wideSize) <= 0) { + return input; + } + + // 再从宽字符转换为UTF-8 + int utf8Size = WideCharToMultiByte(CP_UTF8, 0, wideStr.data(), -1, nullptr, 0, nullptr, nullptr); + if (utf8Size <= 0) { + return input; + } + + std::vector utf8Str(utf8Size); + if (WideCharToMultiByte(CP_UTF8, 0, wideStr.data(), -1, utf8Str.data(), utf8Size, nullptr, nullptr) <= 0) { + return input; + } + + return std::string(utf8Str.data()); +} + +// 新增:自动检测并转换到UTF-8 +std::string CLIProcess::DetectAndConvertToUTF8(const std::string& input) { + if (input.empty()) return input; + + // 首先检查是否已经是有效的UTF-8 + if (IsValidUTF8(input)) { + return input; + } + + // 尝试不同的编码进行转换 + std::vector encodingsToTry = { + OutputEncoding::GBK, + OutputEncoding::GB2312, + OutputEncoding::BIG5, + OutputEncoding::SHIFT_JIS + }; + + for (OutputEncoding encoding : encodingsToTry) { + std::string converted = ConvertToUTF8(input, encoding); + if (converted != input && IsValidUTF8(converted)) { + // 转换成功且结果是有效的UTF-8 + return converted; + } + } + + // 如果所有编码都失败,尝试使用系统默认代码页 + return ConvertToUTF8(input, OutputEncoding::GBK); // 默认使用GBK +} +void CLIProcess::SetStopCommand(const std::string& command, int timeout_ms) { + std::lock_guard lock(stop_mutex_); + stop_command_ = command; + stop_timeout_ms_ = (timeout_ms > 0) ? timeout_ms : 5000; + + if (!command.empty()) { + AddLog("已设置停止命令: " + command + " (超时: " + std::to_string(timeout_ms) + "ms)"); + } else { + } +} + +void CLIProcess::SetMaxLogLines(int max_lines) { + std::lock_guard lock(logs_mutex_); + max_log_lines_ = max_lines; + if (logs_.size() > max_log_lines_) { + logs_.erase(logs_.begin(), logs_.end() - max_log_lines_); + } +} + +void CLIProcess::SetEnvironmentVariables(const std::map& env_vars) { + std::lock_guard lock(env_mutex_); + environment_variables_.clear(); + + // 验证所有环境变量 + for (const auto& pair : env_vars) { + if (pair.first.empty()) { + AddLog("警告: 跳过空的环境变量名"); + continue; + } + + if (pair.first.find('=') != std::string::npos || pair.first.find('\0') != std::string::npos) { + AddLog("警告: 跳过包含无效字符的环境变量: " + pair.first); + continue; + } + + environment_variables_[pair.first] = pair.second; + } + + if (!environment_variables_.empty()) { + // AddLog("已设置 " + std::to_string(environment_variables_.size()) + " 个有效环境变量"); + for (const auto& pair : environment_variables_) { + AddLog(" " + pair.first + "=" + pair.second); + } + } else { + // AddLog("已清空所有自定义环境变量"); + } +} + +const std::map& CLIProcess::GetEnvironmentVariables() const { + std::lock_guard lock(env_mutex_); + return environment_variables_; +} + +void CLIProcess::AddEnvironmentVariable(const std::string& key, const std::string& value) { + std::lock_guard lock(env_mutex_); + + // 验证环境变量名 + if (key.empty()) { + AddLog("错误: 环境变量名不能为空"); + return; + } + + // 检查是否包含无效字符 + if (key.find('=') != std::string::npos || key.find('\0') != std::string::npos) { + AddLog("错误: 环境变量名包含无效字符: " + key); + return; + } + + environment_variables_[key] = value; + // AddLog("添加环境变量: " + key + "=" + value); +} +void CLIProcess::RemoveEnvironmentVariable(const std::string& key) { + std::lock_guard lock(env_mutex_); + auto it = environment_variables_.find(key); + if (it != environment_variables_.end()) { + environment_variables_.erase(it); + // AddLog("移除环境变量: " + key); + } +} + +void CLIProcess::ClearEnvironmentVariables() { + std::lock_guard lock(env_mutex_); + environment_variables_.clear(); + // AddLog("已清空所有自定义环境变量"); +} + +void CLIProcess::Start(const std::string& command) { + if (IsRunning()) return; + Stop(); + + SECURITY_ATTRIBUTES sa; + sa.nLength = sizeof(SECURITY_ATTRIBUTES); + sa.bInheritHandle = TRUE; + sa.lpSecurityDescriptor = nullptr; + + if (!CreatePipe(&hReadPipe_, &hWritePipe_, &sa, 0)) { + AddLog("创建输出管道失败"); + return; + } + + if (!CreatePipe(&hReadPipe_stdin_, &hWritePipe_stdin_, &sa, 0)) { + AddLog("创建输入管道失败"); + CloseHandle(hReadPipe_); + CloseHandle(hWritePipe_); + return; + } + + STARTUPINFO si; + ZeroMemory(&si, sizeof(si)); + si.cb = sizeof(si); + si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; + si.hStdOutput = hWritePipe_; + si.hStdError = hWritePipe_; + si.hStdInput = hReadPipe_stdin_; + si.wShowWindow = SW_HIDE; + ZeroMemory(&pi_, sizeof(pi_)); + + // 转换命令为宽字符 + std::wstring wcmd = StringToWide(command); + + // CreateProcess需要可修改的字符串 + std::vector cmdBuffer(wcmd.begin(), wcmd.end()); + cmdBuffer.push_back(L'\0'); + + // 使用Windows API设置环境变量 + std::vector> originalEnvVars; + bool envVarsSet = false; + + if (!environment_variables_.empty()) { + envVarsSet = true; + + for (const auto& pair : environment_variables_) { + if (!pair.first.empty()) { + // 保存原始值(如果存在) + DWORD bufferSize = GetEnvironmentVariableA(pair.first.c_str(), nullptr, 0); + if (bufferSize > 0) { + // 变量存在,保存原始值 + std::vector buffer(bufferSize); + if (GetEnvironmentVariableA(pair.first.c_str(), buffer.data(), bufferSize) > 0) { + originalEnvVars.emplace_back(pair.first, std::string(buffer.data())); + } else { + originalEnvVars.emplace_back(pair.first, ""); + } + } else { + // 变量不存在,标记为新变量(使用空字符串表示原来不存在) + originalEnvVars.emplace_back(pair.first, ""); + } + + // 设置新的环境变量值 + if (SetEnvironmentVariableA(pair.first.c_str(), pair.second.c_str())) { + // AddLog("设置环境变量: " + pair.first + "=" + pair.second); + } else { + AddLog("设置环境变量失败: " + pair.first + " (错误代码: " + std::to_string(GetLastError()) + ")"); + } + } + } + + // AddLog("环境变量设置完成,数量: " + std::to_string(environment_variables_.size())); + } else { + AddLog("未设置自定义环境变量,使用默认环境"); + } + + BOOL result = CreateProcess( + nullptr, // lpApplicationName + cmdBuffer.data(), // lpCommandLine + nullptr, // lpProcessAttributes + nullptr, // lpThreadAttributes + TRUE, // bInheritHandles + CREATE_NO_WINDOW, // dwCreationFlags + nullptr, // lpEnvironment (使用nullptr让子进程继承当前环境) + nullptr, // lpCurrentDirectory + &si, // lpStartupInfo + &pi_ // lpProcessInformation + ); + + // 恢复原始环境变量 + if (envVarsSet) { + for (const auto& pair : originalEnvVars) { + if (pair.second.empty()) { + // 原来不存在,删除变量 + SetEnvironmentVariableA(pair.first.c_str(), nullptr); + } else { + // 恢复原始值 + SetEnvironmentVariableA(pair.first.c_str(), pair.second.c_str()); + } + } + } + + if (result) { + AddLog("进程已启动: " + command); + + CloseHandle(hWritePipe_); + CloseHandle(hReadPipe_stdin_); + hWritePipe_ = nullptr; + hReadPipe_stdin_ = nullptr; + + output_thread_ = std::thread([this]() { + ReadOutput(); + }); + } + else { + DWORD err = GetLastError(); + + // 获取详细的错误信息 + LPWSTR messageBuffer = nullptr; + size_t size = FormatMessageW( + FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, + nullptr, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPWSTR)&messageBuffer, 0, nullptr); + + std::string errorMsg = "CreateProcess 失败 (错误代码: " + std::to_string(err) + ")"; + if (messageBuffer) { + std::wstring wErrorMsg(messageBuffer); + errorMsg += " - " + WideToString(wErrorMsg); + LocalFree(messageBuffer); + } + + AddLog(errorMsg); + + // 清理资源 + CloseHandle(hReadPipe_); + CloseHandle(hWritePipe_); + CloseHandle(hReadPipe_stdin_); + CloseHandle(hWritePipe_stdin_); + hReadPipe_ = hWritePipe_ = hReadPipe_stdin_ = hWritePipe_stdin_ = nullptr; + } +} + +void CLIProcess::Stop() { + bool useStopCommand = false; + std::string stopCmd; + int timeout = stop_timeout_ms_; + + // 检查是否设置了停止命令 + { + std::lock_guard lock(stop_mutex_); + if (!stop_command_.empty() && IsRunning()) { + useStopCommand = true; + stopCmd = stop_command_; + } + } + + if (useStopCommand) { + AddLog("尝试发送停止命令: " + stopCmd); + if (SendCommand(stopCmd)) { + // 等待进程正常退出 + DWORD waitResult = WaitForSingleObject(pi_.hProcess, timeout); + if (waitResult == WAIT_OBJECT_0) { + // 进程已正常退出 + CloseProcessHandles(); + AddLog("进程已通过停止命令正常退出"); + return; + } + AddLog("停止命令超时,将强制终止进程"); + } else { + AddLog("发送停止命令失败,将强制终止进程"); + } + } + + // 强制终止进程 + if (pi_.hProcess) { + TerminateProcess(pi_.hProcess, 0); + CloseProcessHandles(); + AddLog("进程已强制终止"); + } + + // 关闭管道和线程 + CleanupResources(); +} + +// 新增:关闭进程句柄的辅助函数 +void CLIProcess::CloseProcessHandles() { + if (pi_.hProcess) { + CloseHandle(pi_.hProcess); + pi_.hProcess = nullptr; + } + if (pi_.hThread) { + CloseHandle(pi_.hThread); + pi_.hThread = nullptr; + } +} + +// 新增:清理资源的辅助函数 +void CLIProcess::CleanupResources() { + // 关闭输入管道写入端(通知进程停止) + if (hWritePipe_stdin_) { + CloseHandle(hWritePipe_stdin_); + hWritePipe_stdin_ = nullptr; + } + + // 等待输出线程结束 + if (output_thread_.joinable()) { + output_thread_.join(); + } + + // 关闭输出管道读取端 + if (hReadPipe_) { + CloseHandle(hReadPipe_); + hReadPipe_ = nullptr; + } + + // 确保所有句柄都已关闭 + if (hWritePipe_) { + CloseHandle(hWritePipe_); + hWritePipe_ = nullptr; + } + + if (hReadPipe_stdin_) { + CloseHandle(hReadPipe_stdin_); + hReadPipe_stdin_ = nullptr; + } +} + +void CLIProcess::Restart(const std::string& command) { + Stop(); + Start(command); +} + +void CLIProcess::ClearLogs() { + std::lock_guard lock(logs_mutex_); + logs_.clear(); +} + +void CLIProcess::AddLog(const std::string& log) { + std::lock_guard lock(logs_mutex_); + logs_.push_back(log); + if (logs_.size() > max_log_lines_) { + logs_.erase(logs_.begin(), logs_.begin() + (logs_.size() - max_log_lines_)); + } +} + +const std::vector& CLIProcess::GetLogs() const { + std::lock_guard lock(logs_mutex_); + return logs_; +} + +bool CLIProcess::SendCommand(const std::string& command) { + if (!IsRunning() || !hWritePipe_stdin_) { + return false; + } + + DWORD bytesWritten; + std::string fullCommand = command + "\n"; + + if (WriteFile(hWritePipe_stdin_, fullCommand.c_str(), + static_cast(fullCommand.length()), &bytesWritten, nullptr)) { + AddLog("> " + command); + return true; + } + return false; +} + +void CLIProcess::CopyLogsToClipboard() const { + std::lock_guard lock(logs_mutex_); + if (logs_.empty()) return; + + // 构建完整的日志字符串(使用\r\n确保跨平台兼容) + std::wstring allLogs; + for (const auto& log : logs_) { + allLogs += StringToWide(log) ; + allLogs.resize(allLogs.size() - sizeof(wchar_t)); + allLogs += L"\n"; + } + + if (OpenClipboard(nullptr)) { + EmptyClipboard(); + + // 计算正确的内存大小(包括终止空字符) + const size_t dataSize = (allLogs.length() + 1) * sizeof(wchar_t); + HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, dataSize); + + if (hMem) { + wchar_t* pMem = static_cast(GlobalLock(hMem)); + if (pMem) { + // 安全复制宽字符串数据 + wcscpy_s(pMem, allLogs.length() + 1, allLogs.c_str()); + GlobalUnlock(hMem); + SetClipboardData(CF_UNICODETEXT, hMem); + } else { + GlobalFree(hMem); // 锁定失败时释放内存 + } + } + CloseClipboard(); + } +} + +bool CLIProcess::IsRunning() const { + return pi_.hProcess != nullptr; +} + +void CLIProcess::ReadOutput() { + constexpr int BUFFER_SIZE = 4096; + char buffer[BUFFER_SIZE]; + DWORD bytesRead; + std::string partialLine; + + while (true) { + if (!ReadFile(hReadPipe_, buffer, BUFFER_SIZE - 1, &bytesRead, nullptr) || bytesRead == 0) { + break; + } + + buffer[bytesRead] = '\0'; + std::string output(buffer); + + // 新增:根据设置的编码转换输出 + OutputEncoding currentEncoding; + { + std::lock_guard lock(encoding_mutex_); + currentEncoding = output_encoding_; + } + + std::string convertedOutput; + if (currentEncoding == OutputEncoding::AUTO_DETECT) { + convertedOutput = DetectAndConvertToUTF8(output); + } else { + convertedOutput = ConvertToUTF8(output, currentEncoding); + } + + size_t start = 0; + size_t end = convertedOutput.find('\n'); + + while (end != std::string::npos) { + std::string line = partialLine + convertedOutput.substr(start, end - start); + partialLine.clear(); + + if (!line.empty() && line.back() == '\r') { + line.pop_back(); + } + + if (!line.empty()) { + AddLog(line); + } + + start = end + 1; + end = convertedOutput.find('\n', start); + } + + if (start < convertedOutput.size()) { + partialLine = convertedOutput.substr(start); + } + } +} diff --git a/app/src/Manager.cpp b/app/src/Manager.cpp new file mode 100644 index 0000000..80718cd --- /dev/null +++ b/app/src/Manager.cpp @@ -0,0 +1,838 @@ +#include "Manager.h" +#include +#include + +#include "Units.h" + + +Manager::Manager() = default; + +Manager::~Manager() { + Shutdown(); +} + +bool Manager::Initialize() { + if (m_initialized) return true; + +#ifdef USE_WIN32_BACKEND + if (!InitializeWin32()) return false; + if (!InitializeDirectX11()) return false; +#else + if (!InitializeGLFW()) return false; +#endif + + // 初始化ImGui + IMGUI_CHECKVERSION(); + ImGui::CreateContext(); + ImGuiIO& io = ImGui::GetIO(); + io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; + io.ConfigFlags |= ImGuiConfigFlags_DockingEnable; + io.ConfigViewportsNoAutoMerge = true; + io.IniFilename = "imgui.ini"; + + ImGui::StyleColorsDark(); + ImGuiStyle& style = ImGui::GetStyle(); + if (io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable) { + style.WindowRounding = 0.0f; + style.Colors[ImGuiCol_WindowBg].w = 1.0f; + } + + // 设置样式 + style.WindowPadding = ImVec2(15, 15); + style.FramePadding = ImVec2(5, 5); + style.ItemSpacing = ImVec2(10, 8); + style.ItemInnerSpacing = ImVec2(8, 6); + style.IndentSpacing = 25.0f; + style.ScrollbarSize = 15.0f; + style.GrabMinSize = 10.0f; +#ifdef USE_WIN32_BACKEND + ImGui_ImplWin32_Init(m_hwnd); + ImGui_ImplDX11_Init(m_pd3dDevice, m_pd3dDeviceContext); + // ImGui_ImplWin32_EnableDpiAwareness(); + // m_dpi_scale=ImGui_ImplWin32_GetDpiScaleForHwnd(m_hwnd); + // style.ScaleAllSizes(m_dpi_scale); +#else + ImGui_ImplGlfw_InitForOpenGL(m_window, true); + ImGui_ImplOpenGL3_Init(m_glsl_version); +#endif + + // 加载中文字体 + ImFont* font = io.Fonts->AddFontFromFileTTF( + "C:/Windows/Fonts/msyh.ttc", + 18.0f, + nullptr, + io.Fonts->GetGlyphRangesChineseFull() + ); + IM_ASSERT(font != nullptr); + + // 初始化托盘 + if (!InitializeTray()) return false; + + // 初始化应用状态 + m_app_state.LoadSettings(); + m_app_state.auto_start = IsAutoStartEnabled(); + m_app_state.ApplySettings(); + m_tray->UpdateWebUrl(StringToWide(m_app_state.web_url)); + + // 如果开启了开机自启动且有启动命令,则自动启动子进程 + if (m_app_state.auto_start && strlen(m_app_state.command_input) > 0) { + m_app_state.cli_process.Start(m_app_state.command_input); + } + + m_initialized = true; + return true; +} + +void Manager::Run() { + if (!m_initialized) return; + + while (!ShouldExit()) { + HandleMessages(); + + if (m_should_exit) break; + + if (m_app_state.settings_dirty) { + m_app_state.SaveSettings(); + } + + if (m_app_state.show_main_window) { +#ifdef USE_WIN32_BACKEND + // Win32 渲染循环 + ImGui_ImplDX11_NewFrame(); + ImGui_ImplWin32_NewFrame(); +#else + // GLFW 渲染循环 + if (glfwWindowShouldClose(m_window)) { + HideMainWindow(); + continue; + } + + ImGui_ImplOpenGL3_NewFrame(); + ImGui_ImplGlfw_NewFrame(); +#endif + + ImGui::NewFrame(); + RenderUI(); + ImGui::Render(); + +#ifdef USE_WIN32_BACKEND + float clearColor[4] = {0.1f, 0.1f, 0.1f, 1.0f}; + m_pd3dDeviceContext->OMSetRenderTargets(1, &m_mainRenderTargetView, nullptr); + m_pd3dDeviceContext->ClearRenderTargetView(m_mainRenderTargetView, clearColor); + ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData()); + m_pSwapChain->Present(1, 0); +#else + int display_w, display_h; + glfwGetFramebufferSize(m_window, &display_w, &display_h); + glViewport(0, 0, display_w, display_h); + glClearColor(0.1f, 0.1f, 0.1f, 1.00f); + glClear(GL_COLOR_BUFFER_BIT); + ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData()); + glfwSwapBuffers(m_window); +#endif + } else { +#ifdef USE_WIN32_BACKEND + WaitMessage(); +#else + glfwWaitEvents(); +#endif + } + } + + if (m_app_state.settings_dirty) { + m_app_state.SaveSettings(); + } +} + +void Manager::RenderUI() { +#ifdef USE_WIN32_BACKEND + RECT rect; + GetClientRect(m_hwnd, &rect); + int display_w = rect.right - rect.left; + int display_h = rect.bottom - rect.top; +#else + int display_w, display_h; + glfwGetFramebufferSize(m_window, &display_w, &display_h); +#endif + + ImGui::SetNextWindowPos(ImVec2(0, 0)); + ImGui::SetNextWindowSize(ImVec2(display_w, display_h)); + + ImGui::Begin("CLI程序管理工具", &m_app_state.show_main_window, + ImGuiWindowFlags_NoTitleBar | + ImGuiWindowFlags_NoResize | + ImGuiWindowFlags_NoMove | + ImGuiWindowFlags_NoCollapse | + ImGuiWindowFlags_MenuBar); + + RenderMenuBar(); + RenderMainContent(); + + ImGui::End(); +} + +void Manager::RenderMenuBar() { + if (ImGui::BeginMenuBar()) { + if (ImGui::BeginMenu("设置")) { + RenderSettingsMenu(); + ImGui::EndMenu(); + } + ImGui::EndMenuBar(); + } +} + +void Manager::RenderSettingsMenu() { + if (ImGui::MenuItem("开机自启动", nullptr, m_app_state.auto_start)) { + m_app_state.auto_start = !m_app_state.auto_start; + SetAutoStart(m_app_state.auto_start); + m_app_state.settings_dirty = true; + } + + ImGui::Separator(); + ImGui::Text("日志设置"); + if (ImGui::InputInt("最大日志行数", &m_app_state.max_log_lines, 100, 500)) { + m_app_state.max_log_lines = std::max(100, std::min(m_app_state.max_log_lines, 10000)); + m_app_state.cli_process.SetMaxLogLines(m_app_state.max_log_lines); + m_app_state.settings_dirty = true; + } + + ImGui::Separator(); + ImGui::Text("Web设置"); + if (ImGui::InputText("Web地址", m_app_state.web_url, IM_ARRAYSIZE(m_app_state.web_url))) { + m_tray->UpdateWebUrl(StringToWide(m_app_state.web_url)); + m_app_state.settings_dirty = true; + } + + RenderStopCommandSettings(); + RenderEnvironmentVariablesSettings(); + RenderOutputEncodingSettings(); // 新增:渲染编码设置 +} + + +void Manager::RenderStopCommandSettings() { + ImGui::Separator(); + ImGui::Text("停止命令设置"); + + if (ImGui::Checkbox("启用优雅停止命令", &m_app_state.use_stop_command)) { + m_app_state.settings_dirty = true; + m_app_state.ApplySettings(); + } + + if (m_app_state.use_stop_command) { + if (ImGui::InputText("停止命令", m_app_state.stop_command, IM_ARRAYSIZE(m_app_state.stop_command))) { + m_app_state.settings_dirty = true; + m_app_state.ApplySettings(); + } + + if (ImGui::InputInt("超时时间(毫秒)", &m_app_state.stop_timeout_ms, 1000, 5000)) { + m_app_state.stop_timeout_ms = std::max(1000, std::min(m_app_state.stop_timeout_ms, 60000)); + m_app_state.settings_dirty = true; + m_app_state.ApplySettings(); + } + + ImGui::TextWrapped("说明:启用后,停止程序时会先发送指定命令,等待程序优雅退出。超时后将强制终止。"); + } else { + ImGui::BeginDisabled(true); + ImGui::InputText("停止命令", m_app_state.stop_command, IM_ARRAYSIZE(m_app_state.stop_command)); + ImGui::InputInt("超时时间(毫秒)", &m_app_state.stop_timeout_ms); + ImGui::EndDisabled(); + ImGui::TextWrapped("说明:禁用时将直接强制终止程序。"); + } +} + +void Manager::RenderEnvironmentVariablesSettings() { + ImGui::Separator(); + ImGui::Text("环境变量设置"); + + if (ImGui::Checkbox("使用自定义环境变量", &m_app_state.use_custom_environment)) { + m_app_state.settings_dirty = true; + m_app_state.ApplySettings(); + } + + if (m_app_state.use_custom_environment) { + ImGui::Indent(); + + // 添加新环境变量 + ImGui::Text("添加环境变量:"); + ImGui::SetNextItemWidth(200.0f); + ImGui::InputText("变量名", env_key_input_, IM_ARRAYSIZE(env_key_input_)); + ImGui::SameLine(); + ImGui::SetNextItemWidth(300.0f); + ImGui::InputText("变量值", env_value_input_, IM_ARRAYSIZE(env_value_input_)); + ImGui::SameLine(); + + if (ImGui::Button("添加") && strlen(env_key_input_) > 0) { + m_app_state.environment_variables[env_key_input_] = env_value_input_; + m_app_state.cli_process.AddEnvironmentVariable(env_key_input_, env_value_input_); + memset(env_key_input_, 0, sizeof(env_key_input_)); + memset(env_value_input_, 0, sizeof(env_value_input_)); + m_app_state.settings_dirty = true; + } + + ImGui::Spacing(); + + // 显示当前环境变量列表 + if (!m_app_state.environment_variables.empty()) { + ImGui::Text("当前环境变量 (%d个):", static_cast(m_app_state.environment_variables.size())); + + if (ImGui::BeginChild("EnvVarsList", ImVec2(0, 150), true)) { + std::vector keysToRemove; + + for (const auto& pair : m_app_state.environment_variables) { + ImGui::PushID(pair.first.c_str()); + + // 显示环境变量 + ImGui::Text("%s = %s", pair.first.c_str(), pair.second.c_str()); + ImGui::SameLine(); + + // 删除按钮 + if (ImGui::SmallButton("删除")) { + keysToRemove.push_back(pair.first); + } + + ImGui::PopID(); + } + + // 删除标记的环境变量 + for (const auto& key : keysToRemove) { + m_app_state.environment_variables.erase(key); + m_app_state.cli_process.RemoveEnvironmentVariable(key); + m_app_state.settings_dirty = true; + } + } + ImGui::EndChild(); + + // 清空所有环境变量按钮 + if (ImGui::Button("清空所有环境变量")) { + m_app_state.environment_variables.clear(); + m_app_state.cli_process.ClearEnvironmentVariables(); + m_app_state.settings_dirty = true; + } + } else { + ImGui::TextColored(ImVec4(0.6f, 0.6f, 0.6f, 1.0f), "暂无自定义环境变量"); + } + + ImGui::Spacing(); + ImGui::TextWrapped("说明:启用后,CLI程序将使用这些自定义环境变量。这些变量会与系统环境变量合并,同名变量会被覆盖。"); + + ImGui::Unindent(); + } else { + ImGui::BeginDisabled(true); + ImGui::InputText("变量名", env_key_input_, IM_ARRAYSIZE(env_key_input_)); + ImGui::SameLine(); + ImGui::InputText("变量值", env_value_input_, IM_ARRAYSIZE(env_value_input_)); + ImGui::SameLine(); + ImGui::Button("添加"); + ImGui::EndDisabled(); + ImGui::TextWrapped("说明:禁用时将使用系统默认环境变量启动程序。"); + } +} + +void Manager::RenderOutputEncodingSettings() { + ImGui::Separator(); + ImGui::Text("输出编码设置"); + + // 获取支持的编码列表 + auto supportedEncodings = CLIProcess::GetSupportedEncodings(); + + // 当前选择的编码索引 + int currentEncodingIndex = static_cast(m_app_state.output_encoding); + + // 创建编码名称数组用于Combo + std::vector encodingNames; + for (const auto& encoding : supportedEncodings) { + encodingNames.push_back(encoding.second.c_str()); + } + + if (ImGui::Combo("输出编码", ¤tEncodingIndex, encodingNames.data(), static_cast(encodingNames.size()))) { + if (currentEncodingIndex >= 0 && currentEncodingIndex < static_cast(supportedEncodings.size())) { + m_app_state.output_encoding = supportedEncodings[currentEncodingIndex].first; + m_app_state.cli_process.SetOutputEncoding(m_app_state.output_encoding); + m_app_state.settings_dirty = true; + } + } + + // 显示当前编码信息 + ImGui::SameLine(); + ImGui::TextColored(ImVec4(0.7f, 0.7f, 0.7f, 1.0f), "当前: %s", + CLIProcess::GetEncodingName(m_app_state.output_encoding).c_str()); + + // 编码说明 + ImGui::Spacing(); + ImGui::TextWrapped("说明:"); + ImGui::BulletText("自动检测:程序会尝试自动识别输出编码并转换为UTF-8显示"); + ImGui::BulletText("UTF-8:适用于现代程序和国际化应用"); + ImGui::BulletText("GBK/GB2312:适用于中文Windows系统的程序"); + ImGui::BulletText("Big5:适用于繁体中文程序"); + ImGui::BulletText("Shift-JIS:适用于日文程序"); + + // // 测试按钮 + // if (ImGui::Button("测试编码转换")) { + // std::string testText = "测试中编码转换显示:中文,English, 日本語, 한국어"; + // m_app_state.cli_process.TestOutputEncoding(testText); + // } +} + +void Manager::RenderMainContent() { + float buttonWidth = 80.0f * m_dpi_scale; + float buttonHeight = 40.0f * m_dpi_scale; + float inputWidth = ImGui::GetContentRegionAvail().x * 0.6f; + + // 启动命令输入 + ImGui::SetNextItemWidth(inputWidth); + if (ImGui::InputText("启动命令", m_app_state.command_input, IM_ARRAYSIZE(m_app_state.command_input))) { + m_app_state.settings_dirty = true; + } + + // 控制按钮 + ImGui::BeginGroup(); + if (ImGui::Button("启动", ImVec2(buttonWidth, buttonHeight))) { + m_app_state.cli_process.Start(m_app_state.command_input); + } + ImGui::SameLine(); + if (ImGui::Button("停止", ImVec2(buttonWidth, buttonHeight))) { + m_app_state.cli_process.Stop(); + } + ImGui::SameLine(); + if (ImGui::Button("重启", ImVec2(buttonWidth, buttonHeight))) { + m_app_state.cli_process.Restart(m_app_state.command_input); + } + ImGui::SameLine(); + if (ImGui::Button("清理日志", ImVec2(100.0f * m_dpi_scale, buttonHeight))) { + m_app_state.cli_process.ClearLogs(); + } + ImGui::EndGroup(); + + ImGui::Text("状态: %s", m_app_state.cli_process.IsRunning() ? "运行中" : "已停止"); + + ImGui::Separator(); + ImGui::Text("发送命令到CLI程序"); + + // 命令发送 + ImGui::BeginGroup(); + ImGui::SetNextItemWidth(inputWidth); + bool sendCommandPressed = ImGui::InputText("##命令输入", m_app_state.send_command, IM_ARRAYSIZE(m_app_state.send_command), + ImGuiInputTextFlags_EnterReturnsTrue); + ImGui::SameLine(); + if (ImGui::Button("发送", ImVec2(buttonWidth, 0)) || sendCommandPressed) { + if (m_app_state.cli_process.IsRunning() && strlen(m_app_state.send_command) > 0) { + m_app_state.cli_process.SendCommand(m_app_state.send_command); + memset(m_app_state.send_command, 0, sizeof(m_app_state.send_command)); + } + } + ImGui::EndGroup(); + + ImGui::Separator(); + + // 日志控制 + ImGui::BeginGroup(); + ImGui::Text("程序日志"); + + float logControlButtonWidth = 100.0f * m_dpi_scale; + ImGui::SameLine(); + ImGui::SameLine(ImGui::GetContentRegionAvail().x - (350.0f * m_dpi_scale)); + if (ImGui::Button("复制日志", ImVec2(logControlButtonWidth, 0))) { + m_app_state.cli_process.CopyLogsToClipboard(); + } + + ImGui::SameLine(); + ImGui::Checkbox("自动滚动", &m_app_state.auto_scroll_logs); + + ImGui::SameLine(); + ImGui::Text("行数: %d/%d", + static_cast(m_app_state.cli_process.GetLogs().size()), + m_app_state.max_log_lines); + ImGui::EndGroup(); + + float logHeight = ImGui::GetContentRegionAvail().y - ImGui::GetStyle().ItemSpacing.y; + ImGui::BeginChild("Logs", ImVec2(0, logHeight), true, ImGuiWindowFlags_HorizontalScrollbar); + + const auto& logs = m_app_state.cli_process.GetLogs(); + for (const auto& log : logs) { + ImGui::TextUnformatted(log.c_str()); + } + + if (m_app_state.auto_scroll_logs && ImGui::GetScrollY() >= ImGui::GetScrollMaxY()) { + ImGui::SetScrollHereY(1.0f); + } + + ImGui::EndChild(); +} + +void Manager::OnTrayShowWindow() { + m_app_state.show_main_window = true; + ShowMainWindow(); +#ifdef USE_WIN32_BACKEND + SetForegroundWindow(m_hwnd); +#else + glfwRestoreWindow(m_window); + glfwFocusWindow(m_window); +#endif +} + +void Manager::OnTrayExit() { + m_should_exit = true; + PostQuitMessage(0); +} + +void Manager::ShowMainWindow() { +#ifdef USE_WIN32_BACKEND + ShowWindow(m_hwnd, SW_RESTORE); + SetForegroundWindow(m_hwnd); +#else + glfwShowWindow(m_window); + glfwRestoreWindow(m_window); + glfwFocusWindow(m_window); +#endif + m_app_state.show_main_window = true; +} + +void Manager::HideMainWindow() { +#ifdef USE_WIN32_BACKEND + ShowWindow(m_hwnd, SW_HIDE); +#else + glfwHideWindow(m_window); +#endif + m_app_state.show_main_window = false; +} + +#ifdef USE_WIN32_BACKEND +extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); +LRESULT WINAPI Manager::WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { + Manager* manager = nullptr; + if (msg == WM_NCCREATE) { + CREATESTRUCT* cs = reinterpret_cast(lParam); + manager = reinterpret_cast(cs->lpCreateParams); + SetWindowLongPtr(hWnd, GWLP_USERDATA, reinterpret_cast(manager)); + } else { + manager = reinterpret_cast(GetWindowLongPtr(hWnd, GWLP_USERDATA)); + } + + if (manager && ImGui_ImplWin32_WndProcHandler(hWnd, msg, wParam, lParam)) + return true; + + switch (msg) { + case WM_CLOSE: + // 主窗口关闭时隐藏到托盘 + if (manager) { + manager->HideMainWindow(); + } + return 0; + case WM_DESTROY: + PostQuitMessage(0); + return 0; + case WM_SIZE: + if (wParam == SIZE_MINIMIZED && manager) { + // 最小化时隐藏到托盘 + manager->HideMainWindow(); + } + break; + } + return DefWindowProc(hWnd, msg, wParam, lParam); +} +#endif + +bool Manager::InitializeTray() { + m_tray_hwnd = CreateHiddenWindow(); + if (!m_tray_hwnd) { + return false; + } + + HICON trayIcon = LoadIcon(NULL, IDI_APPLICATION); + m_tray = std::make_unique(m_tray_hwnd, trayIcon); + + // 设置回调函数 + m_tray->SetShowWindowCallback([this]() { + OnTrayShowWindow(); + }); + + m_tray->SetExitCallback([this]() { + OnTrayExit(); + }); + + m_tray->Show(); + + // 设置托盘窗口的用户数据,指向TrayIcon实例 + SetWindowLongPtr(m_tray_hwnd, GWLP_USERDATA, reinterpret_cast(m_tray.get())); + + return true; +} + +HWND Manager::CreateHiddenWindow() { + WNDCLASSEX wc = {0}; + wc.cbSize = sizeof(WNDCLASSEX); + wc.lpfnWndProc = TrayIcon::WindowProc; // 使用TrayIcon的窗口过程 + wc.hInstance = GetModuleHandle(NULL); + wc.lpszClassName = L"CLIManagerTrayWindow"; + + if (!RegisterClassEx(&wc)) { + return NULL; + } + + return CreateWindowEx( + 0, + wc.lpszClassName, + L"CLI Manager Tray Window", + 0, + 0, 0, 0, 0, + NULL, NULL, + wc.hInstance, + NULL + ); +} + +void Manager::HandleMessages() { +#ifdef USE_WIN32_BACKEND + MSG msg; + while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { + if (msg.message == WM_QUIT) { + m_should_exit = true; + } + else if (msg.message == WM_CLOSE) { + // 主窗口关闭时隐藏到托盘,而不是退出 + if (msg.hwnd == m_hwnd) { + HideMainWindow(); + continue; + } else { + m_should_exit = true; + } + } + + TranslateMessage(&msg); + DispatchMessage(&msg); + } +#else + // GLFW后端的消息处理 + MSG msg; + while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { + if (msg.message == WM_QUIT) { + m_should_exit = true; + } + + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + glfwPollEvents(); + if (glfwWindowShouldClose(m_window)) { + HideMainWindow(); + glfwSetWindowShouldClose(m_window, GLFW_FALSE); + } +#endif +} + +bool Manager::ShouldExit() const { + return m_should_exit; +} + +#ifdef USE_WIN32_BACKEND +bool Manager::InitializeWin32() { + m_wc = {}; + m_wc.cbSize = sizeof(WNDCLASSEX); + m_wc.style = CS_HREDRAW | CS_VREDRAW; + m_wc.lpfnWndProc = WndProc; + m_wc.hInstance = GetModuleHandle(NULL); + m_wc.hCursor = LoadCursor(NULL, IDC_ARROW); + m_wc.lpszClassName = L"CLIManagerWin32Class"; + + if (!RegisterClassEx(&m_wc)) { + return false; + } + + m_hwnd = CreateWindowEx( + 0, + m_wc.lpszClassName, + L"CLI程序管理工具", + WS_OVERLAPPEDWINDOW, + CW_USEDEFAULT, + CW_USEDEFAULT, + 1280, + 800, + NULL, + NULL, + m_wc.hInstance, + this // 将 this 指针传递给窗口创建数据 + ); + + if (!m_hwnd) { + return false; + } + + ShowWindow(m_hwnd, SW_SHOWDEFAULT); + UpdateWindow(m_hwnd); + + return true; +} + +bool Manager::InitializeDirectX11() { + DXGI_SWAP_CHAIN_DESC sd = {}; + sd.BufferCount = 2; + sd.BufferDesc.Width = 0; // 自动适配窗口大小 + sd.BufferDesc.Height = 0; + sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; + sd.BufferDesc.RefreshRate.Numerator = 60; + sd.BufferDesc.RefreshRate.Denominator = 1; + sd.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH; + sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; + sd.OutputWindow = m_hwnd; + sd.SampleDesc.Count = 1; + sd.SampleDesc.Quality = 0; + sd.Windowed = TRUE; + sd.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; + + UINT createDeviceFlags = 0; +#ifdef _DEBUG + createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG; +#endif + + D3D_FEATURE_LEVEL featureLevel; + const D3D_FEATURE_LEVEL featureLevelArray[2] = { + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_10_0, + }; + + if (D3D11CreateDeviceAndSwapChain( + NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, createDeviceFlags, + featureLevelArray, 2, D3D11_SDK_VERSION, &sd, &m_pSwapChain, + &m_pd3dDevice, &featureLevel, &m_pd3dDeviceContext) != S_OK) { + return false; + } + + ID3D11Texture2D* pBackBuffer; + if (m_pSwapChain->GetBuffer(0, IID_PPV_ARGS(&pBackBuffer)) != S_OK) { + return false; + } + + if (m_pd3dDevice->CreateRenderTargetView(pBackBuffer, NULL, &m_mainRenderTargetView) != S_OK) { + pBackBuffer->Release(); + return false; + } + + pBackBuffer->Release(); + + return true; +} + +void Manager::CleanupWin32() { + if (m_hwnd) { + DestroyWindow(m_hwnd); + m_hwnd = nullptr; + } + UnregisterClass(m_wc.lpszClassName, m_wc.hInstance); +} + +void Manager::CleanupDirectX11() { + if (m_mainRenderTargetView) { + m_mainRenderTargetView->Release(); + m_mainRenderTargetView = nullptr; + } + if (m_pSwapChain) { + m_pSwapChain->Release(); + m_pSwapChain = nullptr; + } + if (m_pd3dDeviceContext) { + m_pd3dDeviceContext->Release(); + m_pd3dDeviceContext = nullptr; + } + if (m_pd3dDevice) { + m_pd3dDevice->Release(); + m_pd3dDevice = nullptr; + } +} +#else +bool Manager::InitializeGLFW() { + glfwSetErrorCallback(GlfwErrorCallback); + if (!glfwInit()) + return false; + +#if defined(IMGUI_IMPL_OPENGL_ES2) + m_glsl_version = "#version 100"; + glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 2); + glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0); + glfwWindowHint(GLFW_CLIENT_API, GLFW_OPENGL_ES_API); +#elif defined(IMGUI_IMPL_OPENGL_ES3) + m_glsl_version = "#version 300 es"; + glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); + glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0); + glfwWindowHint(GLFW_CLIENT_API, GLFW_OPENGL_ES_API); +#elif defined(__APPLE__) + m_glsl_version = "#version 150"; + glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); + glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); + glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); + glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); +#else + m_glsl_version = "#version 130"; + glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); + glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0); +#endif + + int screenWidth, screenHeight; + GLFWmonitor* primaryMonitor = glfwGetPrimaryMonitor(); + const GLFWvidmode* mode = glfwGetVideoMode(primaryMonitor); + screenWidth = mode->width; + screenHeight = mode->height; + + int windowWidth = static_cast(screenWidth * 0.8); + int windowHeight = static_cast(screenHeight * 0.8); + + m_window = glfwCreateWindow(windowWidth, windowHeight, "CLI程序管理工具", nullptr, nullptr); + if (!m_window) + return false; + + glfwSetWindowPos(m_window, + (screenWidth - windowWidth) / 2, + (screenHeight - windowHeight) / 2); + + glfwMakeContextCurrent(m_window); + glfwSwapInterval(1); + + return true; +} + +void Manager::CleanupGLFW() { + if (m_window) { + glfwDestroyWindow(m_window); + m_window = nullptr; + } + glfwTerminate(); +} + +void Manager::GlfwErrorCallback(int error, const char* description) { + fprintf(stderr, "GLFW Error %d: %s\n", error, description); +} +#endif + +void Manager::CleanupTray() { + m_tray.reset(); + if (m_tray_hwnd) { + DestroyWindow(m_tray_hwnd); + m_tray_hwnd = nullptr; + } + UnregisterClass(L"CLIManagerTrayWindow", GetModuleHandle(nullptr)); +} + +void Manager::Shutdown() { + if (!m_initialized) return; + + if (m_app_state.settings_dirty) { + m_app_state.SaveSettings(); + } + + CleanupTray(); + +#ifdef USE_WIN32_BACKEND + ImGui_ImplDX11_Shutdown(); + ImGui_ImplWin32_Shutdown(); + ImGui::DestroyContext(); + CleanupDirectX11(); + CleanupWin32(); +#else + ImGui_ImplOpenGL3_Shutdown(); + ImGui_ImplGlfw_Shutdown(); + ImGui::DestroyContext(); + CleanupGLFW(); +#endif + + m_initialized = false; +} \ No newline at end of file diff --git a/app/src/TrayIcon.cpp b/app/src/TrayIcon.cpp new file mode 100644 index 0000000..31134ce --- /dev/null +++ b/app/src/TrayIcon.cpp @@ -0,0 +1,134 @@ +#include "TrayIcon.h" +#include "Units.h" + +TrayIcon::TrayIcon(HWND hwnd, HICON icon) + : m_hwnd(hwnd), m_icon(icon), m_visible(false), m_menu(nullptr) { + + ZeroMemory(&m_nid, sizeof(m_nid)); + m_nid.cbSize = sizeof(m_nid); + m_nid.hWnd = m_hwnd; + m_nid.uID = 1; + m_nid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE; + m_nid.uCallbackMessage = WM_APP + 1; + m_nid.hIcon = m_icon; + wcscpy_s(m_nid.szTip, L"CLI程序管理工具"); + m_web_url = L"http://localhost:8080"; // 默认URL + + CreateMenu(); +} + +TrayIcon::~TrayIcon() { + Hide(); + DestroyMenu(); +} + +void TrayIcon::Show() { + if (!m_visible) { + Shell_NotifyIcon(NIM_ADD, &m_nid); + m_visible = true; + } +} + +void TrayIcon::Hide() { + if (m_visible) { + Shell_NotifyIcon(NIM_DELETE, &m_nid); + m_visible = false; + } +} + +void TrayIcon::UpdateWebUrl(const std::wstring& url) { + m_web_url = url; + // 重新创建菜单以更新Web URL显示 + DestroyMenu(); + CreateMenu(); +} + +void TrayIcon::SetShowWindowCallback(const ShowWindowCallback &callback) { + m_show_window_callback = callback; +} + +void TrayIcon::SetExitCallback(const ExitCallback &callback) { + m_exit_callback = callback; +} + +void TrayIcon::CreateMenu() { + if (m_menu) { + DestroyMenu(); + } + + m_menu = CreatePopupMenu(); + AppendMenu(m_menu, MF_STRING, 1001, L"显示主窗口"); + AppendMenu(m_menu, MF_SEPARATOR, 0, NULL); + + // 添加Web地址菜单项(如果有设置) + if (!m_web_url.empty() && m_web_url != L"") { + std::wstring webText = L"打开Web页面: " + m_web_url; + AppendMenu(m_menu, MF_STRING, 1002, webText.c_str()); + AppendMenu(m_menu, MF_SEPARATOR, 0, NULL); + } + + AppendMenu(m_menu, MF_STRING, 1003, L"退出"); +} + +void TrayIcon::DestroyMenu() { + if (m_menu) { + ::DestroyMenu(m_menu); + m_menu = nullptr; + } +} + +void TrayIcon::ShowContextMenu() const { + if (!m_menu) return; + + POINT pt; + GetCursorPos(&pt); + SetForegroundWindow(m_hwnd); + TrackPopupMenu(m_menu, TPM_RIGHTBUTTON, pt.x, pt.y, 0, m_hwnd, NULL); +} + +LRESULT CALLBACK TrayIcon::WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { + auto* tray = reinterpret_cast(GetWindowLongPtr(hwnd, GWLP_USERDATA)); + + switch (msg) { + case WM_APP + 1: // 托盘图标消息 + switch (LOWORD(lParam)) { + case WM_LBUTTONDBLCLK: + if (tray && tray->m_show_window_callback) { + tray->m_show_window_callback(); + } + break; + case WM_RBUTTONUP: + if (tray) { + tray->ShowContextMenu(); + } + break; + } + break; + + case WM_COMMAND: + if (tray) { + switch (LOWORD(wParam)) { + case 1001: // 显示主窗口 + if (tray->m_show_window_callback) { + tray->m_show_window_callback(); + } + break; + case 1002: // 打开Web页面 + if (!tray->m_web_url.empty()) { + ShellExecute(NULL, L"open", tray->m_web_url.c_str(), NULL, NULL, SW_SHOWNORMAL); + } + break; + case 1003: // 退出 + if (tray->m_exit_callback) { + tray->m_exit_callback(); + } + break; + } + } + break; + + default: + return DefWindowProc(hwnd, msg, wParam, lParam); + } + return 0; +} \ No newline at end of file diff --git a/app/src/Units.cpp b/app/src/Units.cpp new file mode 100644 index 0000000..c6c357f --- /dev/null +++ b/app/src/Units.cpp @@ -0,0 +1,55 @@ +#include "Units.h" +#include +#include +#include +#include +#include +std::wstring StringToWide(const std::string& str) { + if (str.empty()) return L""; + int size = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, nullptr, 0); + std::wstring wstr(size, 0); + MultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, &wstr[0], size); + return wstr; +} + +std::string WideToString(const std::wstring& wstr) { + if (wstr.empty()) return ""; + int size = WideCharToMultiByte(CP_UTF8, 0, wstr.c_str(), -1, nullptr, 0, nullptr, nullptr); + std::string str(size, 0); + WideCharToMultiByte(CP_UTF8, 0, wstr.c_str(), -1, &str[0], size, nullptr, nullptr); + return str; +} + +void SetAutoStart(bool enable) { + HKEY hKey; + LPCWSTR path = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run"; + + if (RegOpenKeyEx(HKEY_CURRENT_USER, path, 0, KEY_WRITE, &hKey) != ERROR_SUCCESS) + return; + + WCHAR exePath[MAX_PATH]; + GetModuleFileName(NULL, exePath, MAX_PATH); + + if (enable) { + RegSetValueEx(hKey, L"CLIManager", 0, REG_SZ, + (BYTE*)exePath, (wcslen(exePath) + 1) * sizeof(WCHAR)); + } + else { + RegDeleteValue(hKey, L"CLIManager"); + } + RegCloseKey(hKey); +} + +bool IsAutoStartEnabled() { + HKEY hKey; + LPCWSTR path = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run"; + + if (RegOpenKeyEx(HKEY_CURRENT_USER, path, 0, KEY_READ, &hKey) != ERROR_SUCCESS) + return false; + + DWORD type, size = 0; + bool exists = (RegQueryValueEx(hKey, L"CLIManager", NULL, &type, NULL, &size) == ERROR_SUCCESS); + + RegCloseKey(hKey); + return exists; +} \ No newline at end of file diff --git a/img/img1.png b/img/img1.png new file mode 100644 index 0000000000000000000000000000000000000000..2354556a6027a240af967ff2f9a67affdad2fa88 GIT binary patch literal 150318 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 JK&90?{|9x?=>Gr! literal 0 HcmV?d00001 diff --git a/img/img2.png b/img/img2.png new file mode 100644 index 0000000000000000000000000000000000000000..45b607ec0d8edc8e7c5193b479500eb08aa8dd64 GIT binary patch literal 93400 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�)vr$Z9 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 *O$7F&GDD2Dd@)yl$qrz&ixPm3ON* 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 literal 0 HcmV?d00001 diff --git a/img/img3.png b/img/img3.png new file mode 100644 index 0000000000000000000000000000000000000000..d380b5045c0b8aa56d24a526a9025fa16fa54a71 GIT binary patch literal 16941 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