设置任务栏位置 Win7 c++
Set Taskbar position Win7 c++
是否可以使用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;
}
要回答"跨越所有 3 个显示器"的问题,这通常取决于显示适配器的配置。您可以有 3 个单独的显示器(每个显示器 1 个),或者跨越所有三个显示器的 1 个大显示器。后者听起来像你的情况,Windows无法使应用栏仅占据显示器的一部分。
最好的办法是调整显示驱动程序以创建 3 个独立显示器,而不是 1 个大显示器。
相关文章:
- 可能的Qt5错误:调用setFixedSize()禁用主窗口的关闭按钮(在Win7下)
- Win7 C++ - 从以用户身份登录的服务启动可执行文件的问题
- 在Win7上,在默认端点上轮询音频会话有时会崩溃
- G++无法编译Win7,64位(MinGW.org GCC-6.3.0-1)
- DirectShow 在 Win7/Win10 上失败并显示黑框和0x80070005
- 当可以在Win7上正确生成Linux时,如何使用SWIG在Linux上生成C#
- 在win7上使用MinGW 6.3.0构建提升1.63.0
- .CAB中的.EXE无法从Win7、IE8安装
- 是否有可能 - 使用设备而不是模拟器在Win7上开发Win Phone 7
- Win7 命名空间扩展确定 IShellItem 是文件还是文件夹
- Qt on Visual Studio 2010 and win7 64bit
- Win7中的Eclipse CDT(Juno):在PATH中找不到g++,iostream未解析和其他有趣的东西
- ASIO编译器错误(Win7 64位 VC11)
- 请推荐用于XP,Win7和Win8的2D动画C 工具
- 从QT,Win7下,如何知道哪种窗口样式用于显示
- 如何为C 设置跨平台(Win7中的NetBeans和Make Linux)
- 没有滚动条的 CPP Win7 控制台
- 在Win7 x64上编译Qt应用程序的最简单方法
- Win7 和 Win10 之间的计时器差异
- 在win7中编程垂直回扫