- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我编写了一个简单的实用程序,让您可以通过键入新的所需宽度、高度和窗口的左上角来移动屏幕上的任何窗口和/或调整其大小。它在 100% 缩放时效果很好,但当我更改缩放时它会失败。
例如,在我的 4k 显示器上,我设置了 150% 的缩放比例。 MoveWindow
将我的 3840x2160 显示器视为 2560x1440 显示器。当我告诉窗口移动到 (1280,0) 时,它会将左上角移动到屏幕的顶部中心。我希望我的程序在我输入 (1920,0) 时执行此操作。这个问题是我仍然可以物理地将窗口移动到屏幕上的每个像素。 MoveWindow
只是无法访问中间的额外像素。
我可以做些什么来强制 MoveWindow
忽略缩放值吗?
最佳答案
正如 IInspectable 之前所说,在我进行以下更改之前,该程序在 Windows 7 上确实失败了。到目前为止,这似乎在 Windows 7 到 10 上运行良好。
if (IsWindows8Point1OrGreater())
{
HINSTANCE hinstLib;
MYPROC ProcAdd;
BOOL fFreeResult, fRunTimeLinkSuccess = FALSE;
hinstLib = LoadLibrary(TEXT("SHCore.dll"));
if (hinstLib != NULL)
{
ProcAdd = (MYPROC)GetProcAddress(hinstLib, "SetProcessDpiAwareness");
if (NULL != ProcAdd)
{
fRunTimeLinkSuccess = TRUE;
HRESULT ejHR = (ProcAdd)(PROCESS_PER_MONITOR_DPI_AWARE);
}
fFreeResult = FreeLibrary(hinstLib);
}
if (!fRunTimeLinkSuccess)
{
SetProcessDPIAware();
}
}
else if (IsWindowsVistaOrGreater())
{
SetProcessDPIAware();
}
关于c++ - 我可以让 MoveWindow 在 Windows 10 中使用屏幕坐标吗? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42102688/
敲代码时,突然发现有一个背景图片无法显示,百思不得其解,最终发现是MoveWindow() SetWindowPos()这两个函数的使用不当造成的。 这里把这两个函数的前世今生给分析一下。
我想从我的应用程序调整大小和/或移动一些外部窗口,主要是屏幕键盘窗口。这是代码: [DllImport("user32.dll", SetLastError = true)] int
我正在使用 win32gui将记事本窗口移动到屏幕的原点 (0, 0),宽度和高度等于 500。结果是窗口没有移动到真正的左边框,而是 ~10 px。向右。宽度和高度也不等于 500 像素。 (~62
我是 C++ 的新手,似乎被卡住了。我里面基本上有一个窗口和一个按钮(也是用 CreateWindow() 创建的)。我想让按钮在 X 轴上移动,我尝试使用 MoveWindow() 但我似乎无法制作
我正在使用 MoveWindow() 调整窗口大小,但我不拥有该窗口。我只是从不同的进程中窃取了它,现在我正在摆弄它的 hWindow。 然而,我从中窃取它的进程正在运行一个消息循环,处理其中一些消息
有什么方法可以在窗口上强制执行最小尺寸(宽度和高度)? 我见过不允许将窗口大小调整到某个点以下的应用程序,并且不会出现闪烁或其他任何情况。此外,如果分辨率低于这些最小值,它们将不允许最大化,而是将自己
我正在使用 SetWindowPos 和 MoveWindow 来调整窗口大小和居中。它工作正常,但在 Windows Media Player 或控制面板等多个窗口上,当您关闭窗口并再次打开时,不会
我非常渴望解决这个非常烦人的问题:(我试图在父窗口上显示一个子窗口。有时需要调整窗口大小。但出于某种原因,当我使用 MoveWindow 函数时,它会在父窗口的顶部留下空白区域。我想在这里展示一张图片
我正在编写一个 python 脚本来使用 ffplay 运行电影,然后将 ffplay 窗口移动到屏幕上的特定位置。 我基于此的脚本位于此处 - http://code.activestate.com
我目前遇到一个非常奇怪的问题 CComboBox在 CFormView 中使用. 将字符串添加到组合框(使用 WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCRO
以下摘自 MoveWindow() 的备注部分文档: If the bRepaint parameter is TRUE, the system sends the WM_PAINT message
我正在使用 OpenCV 2.3 的 C++ 版本,并且正在努力完成一项基本任务。我想做的是创建一个窗口并将其移动到屏幕上的特定位置,例如: cv::namedWindow("My Window",
我根本不是 Windows 开发人员(我做 AS3 的东西),但我在 Visual C# 2010 中编写了这个 C# 控制台应用程序以测试某些内容。该应用程序应该打开一个窗口并调整其大小和位置。 我
我正在为 Visual Studio 2003 使用 MFC。我有一个 ID 为 IDC_COMMENT_EDIT 的编辑控件。在下面的代码中,在我第一次调用 GetClientRect 之后,我不希
简介及相关信息: 我正在尝试使用可编辑项和子项实现 ListView 控件。项目和子项目应该具有编辑控件、复选框或组合框,而不是常规的 ListView 外观。 我正在使用原始 WinAPI 和 C+
我编写了一个简单的实用程序,让您可以通过键入新的所需宽度、高度和窗口的左上角来移动屏幕上的任何窗口和/或调整其大小。它在 100% 缩放时效果很好,但当我更改缩放时它会失败。 例如,在我的 4k 显示
我有一个 listview 控件 (lvc),它位于 DialogBox(dbx) 中,而且 dbx 也有一个垂直滚动条。 每当滚动条滚动时,调用EnumChildWindows 来枚举dbx 的所有
这个问题在这里已经有了答案: Effect of MoveWindow in EnumChildWindows over listview inside the Dialog Box: Why Li
我是一名优秀的程序员,十分优秀!