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の通常の設定/コントロールパネルの領域を欲しがるように制約する方法がない場合は、適切なプログラマチックインターフェイスがあると思われます。タスクバーに干渉する任意のプログラムが良い一般的な体験ではない。 –
このコメントは話題にはなりませんが、クラスのコンセプトを正しく理解していないようです。ウィンドウハンドルは、メンバ関数内のローカル変数ではなく、クラスMyClassのメンバ変数である必要があります。 – user877329
あなたはtaskBarでハンドルを見つけましたか? – user877329