是否可以使用 Windows API 设置任务栏位置/宽度/高度?我正在运行 3 台显示器,我想防止任务栏跨越所有显示器,而不是一直保持在顶部。
这是我到目前为止没有运气的尝试......我不确定我的代码是否有问题或者它只是被阻止了。
#include <iostream>
#include "Windows.h"
using namespace std;
class MyClass
{
public:
int getTaskBarHeight();
void setTaskBarPos();
};
int MyClass::getTaskBarHeight()
{
RECT rect;
HWND taskBar = FindWindow(L"Shell_traywnd", NULL);
if(taskBar && GetWindowRect(taskBar, &rect)) {
return rect.bottom - rect.top;
}
}
void MyClass::setTaskBarPos()
{
RECT rect;
HWND taskBar = FindWindow(L"Shell_traywnd", NULL);
if(taskBar && GetWindowRect(taskBar, &rect)) {
SetWindowPos(taskBar, HWND_TOPMOST, 0, 0, 1080, 46, SWP_NOZORDER);
}
}
int main(void)
{
MyClass taskbar;
cout << taskbar.getTaskBarHeight();
taskbar.setTaskBarPos();
int a;
cin >> a;
}