是否可以使用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