是否可以使用Windows API設置任務欄位置/寬度/高度? 我正在運行3臺顯示器,並且我想阻止任務欄橫跨所有顯示器,並且始終保持最佳狀態。設置任務欄位置Win7 C++
這是我迄今沒有運氣嘗試......我不知道,如果有什麼錯我的代碼,或者它只是被封鎖。
#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;
}
如果沒有辦法來約束它,只要你想通過Windows的常用設置/控制面板方面,我懷疑有一個編程接口,它是適當的 - 有任意程序與任務欄干擾將不會是一個很好的一般經驗。 – 2012-04-22 06:38:12
這個評論是題外話題,但它看起來像你沒有得到正確的類的概念。窗口句柄應該是類MyClass的成員變量,而不是成員函數中的局部變量。 – user877329 2012-04-22 12:43:37
您是否在任務欄中找到了句柄? – user877329 2012-04-22 12:44:23