gpt4 book ai didi

c++ - 如何记住监控应用程序所在的位置?

转载 作者:可可西里 更新时间:2023-11-01 11:25:23 26 4
gpt4 key购买 nike

我正在编写一个 C++ mfc 应用程序,我想记住它的位置。它应该在关闭窗口之前准确地打开它的窗口。在打开一个窗口时,我会从文件或寄存器中读取数据,并恢复它关闭时的窗口桌面、左顶点的坐标和窗口大小。

坐标和大小没有问题,但是跟踪我有一个窗口的显示器的最佳方法是什么?

Number of display 是不行的,因为在WinAPI 中没有办法通过number 和monitor 的编号获取监视器。

HMONITOR 值可能适合,根据 msdn:“只要物理显示器是桌面的一部分,它就具有相同的 HMONITOR。” (https://msdn.microsoft.com/en-us/library/dd144968(v=vs.85).aspx)。但是,如果我重新启动 PC,我保存的 HMONITOR 值是否会保持一致?

最佳答案

您可以调用GetWindowPlacement()当您的应用程序关闭以获取窗口的大小和位置时(包括它是否最大化、恢复等)。将此信息保存在某处(注册表、应用程序数据等),下次程序启动时读取此信息并调用 SetWindowPlacement()将窗口恢复到之前的位置。

此外,您可能想要验证窗口的新位置是否可见,如果不可见则移动它以使其再次可见。如果设置了不同数量的显示器(例如,如果您没有在笔记本电脑上使用外接显示器),就会发生这种情况。

关于c++ - 如何记住监控应用程序所在的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40240256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com