你好,如何通过使用SetWindowLong,让任务栏的图标隐藏
时间: 2023-07-20 21:22:03 浏览: 160
任务栏图标隐藏
你可以使用 `SetWindowLong` 函数来隐藏任务栏的图标。以下是C++代码示例:
```
#include <Windows.h>
#include <iostream>
int main() {
HWND taskbar = FindWindow(L"Shell_TrayWnd", NULL); // 获取任务栏的窗口句柄
HWND tray = FindWindowEx(taskbar, NULL, L"TrayNotifyWnd", NULL); // 获取托盘区域的窗口句柄
// 获取托盘区域的所有子窗口
HWND hChildWnd = NULL;
while (true) {
hChildWnd = FindWindowEx(tray, hChildWnd, NULL, NULL);
if (hChildWnd == NULL) break;
WCHAR szClassName[256] = { 0 };
GetClassName(hChildWnd, szClassName, 256);
// 如果是图标窗口,则隐藏该窗口
if (wcscmp(szClassName, L"TrayClockWClass") != 0) {
SetWindowLong(hChildWnd, GWL_STYLE, GetWindowLong(hChildWnd, GWL_STYLE) & ~WS_VISIBLE);
}
}
return 0;
}
```
这段代码可以隐藏任务栏上所有图标窗口。注意,这可能不包括某些系统图标,例如音量图标。你也可以根据需要修改代码,只隐藏特定的图标窗口。
阅读全文