SI - 标题栏路径显示完整路径

本文介绍了一种在软件中调整路径名称显示的方法,通过取消勾选特定选项来避免使用省略号来截断长路径名。
  1. Options
  2. Preferences
  3. Display
  4. Trim long path names with ellipses(把复选框的勾选去掉。)

trim
vt. 修剪;整理;装点
vi. 削减
n. 修剪;整齐;情形
adj. 整齐的
ellipses
n. 椭圆(ellipse的复数);省略号(ellipsis的复数)

bool LaunchBrowserWithFlash(const std::string& browserPath, const std::string& url = "") { // 构造命令行 std::string cmd = "\"" + browserPath + "\" --new-window \"" + url + "\""; STARTUPINFOA si = { sizeof(si) }; PROCESS_INFORMATION pi; ZeroMemory(&si, sizeof(si)); ZeroMemory(&pi, sizeof(pi)); // 设置错误模式:禁用系统错误弹窗[^1] UINT prevErrorMode = SetErrorMode(SEM_FAILCRITICALERRORS); // 尝试创建进程 if (CreateProcessA( NULL, const_cast<char*>(cmd.c_str()), NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi)) { // 成功启动则关闭句柄并返回 CloseHandle(pi.hThread); CloseHandle(pi.hProcess); SetErrorMode(prevErrorMode); // 恢复原始错误模式 return true; } // 等待浏览器窗口创建(最多5秒) HWND hwndBrowser = nullptr; DWORD startTime = GetTickCount(); while ((GetTickCount() - startTime) < 5000) { EnumWindows([](HWND hwnd, LPARAM lParam) -> BOOL { DWORD processId = 0; GetWindowThreadProcessId(hwnd, &processId); if (processId == *reinterpret_cast<DWORD*>(lParam)) { if (IsWindowVisible(hwnd) && GetWindowTextLength(hwnd) > 0) { *reinterpret_cast<HWND*>(lParam) = hwnd; // 找到窗口 return FALSE; // 停止枚举 } } return TRUE; // 继续枚举 }, reinterpret_cast<LPARAM>(&hwndBrowser)); if (hwndBrowser) break; Sleep(100); // 每100ms检查一次 } // 实现任务栏闪烁效果 if (hwndBrowser) { FLASHWINFO flashInfo = { sizeof(flashInfo) }; flashInfo.hwnd = hwndBrowser; flashInfo.dwFlags = FLASHW_ALL | FLASHW_TIMERNOFG; // 闪烁标题栏和任务栏[^3] flashInfo.uCount = 0; // 持续闪烁直到窗口激活 flashInfo.dwTimeout = 0; FlashWindowEx(&flashInfo); // 附加置顶功能(可选) SetForegroundWindow(hwndBrowser); return true; } return false; } const std::vector<std::string> browsers = { "msedge.exe", // Microsoft Edge "chrome.exe", // Google Chrome "firefox.exe", // Mozilla Firefox "opera.exe", // Opera浏览器[^1] "brave.exe", // Brave浏览器[^2] "vivaldi.exe", // Vivaldi浏览器 "safari.exe", // Safari (Windows版本) "iexplore.exe" // Internet Explorer (兼容旧系统) }; static void openURL(const std::string& url) { for (const auto& browser : browsers) { if (LaunchBrowserWithFlash(browser, url)) { break; } } }浏览器窗口未能正确打开的原因是什么、
最新发布
06-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值