问题标签 [window-position]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - 程序在最小化时关闭时错误的窗口位置值
在我的 Windows 7 桌面上,我将 Windows 任务栏附加在屏幕的左侧(而不是底部的默认设置),并将自定义桌面工具栏(“True Launch Bar”)附加在屏幕的顶部。
在 Delphi XE8 VCL 项目中,我将主窗口位置值 (formMain.Top
和formMain.Left
) 保存在FormClose
事件中,然后在程序启动时使用FormCreate
事件中的这些值恢复主窗口位置。
这通常运作良好。但是,当程序在 MINIMIZED ( formMain.WindowState
= wsMinimized
) 时关闭时,窗体位置值是错误的(即被工具栏的宽度/高度减小),因此窗口在程序启动时恢复到错误的位置。
那么我该如何解决这个问题呢?
编辑:我尝试了大卫提到的其他解决方案:
但是,这会产生相同的问题,因为它没有考虑工具栏占用的空间,因为它只获取 WORK AREA 值。
此外,这不是大卫提到的重复问题,而是类似问题。这个问题源于最小化状态下的错误屏幕值,而另一个问题是关于整体恢复状态和大小。
另请注意:我不想恢复窗口状态(例如最小化)和位置,但只有窗口位置,所以我不能SetWindowPlacement
像大卫在另一个问题中提到的那样使用。
EDIT2:我现在已经用这段代码解决了这个问题:
(在窗口最大化的情况下,我不保存和恢复窗口位置,而只保存和恢复最大化窗口状态)。
batch-file - 定位批处理窗口
我正在尝试找到一种方法来调整在不使用 3rd 方程序的情况下运行批处理文件时打开的窗口。我已经调整了它的大小和颜色,但想将窗口移动到屏幕的左上角。这也必须包含在它自己的批处理文件中(不是右键单击标题栏并以这种方式更改窗口位置的设置)。
例如,我打开了一个批处理文件,您回答它提出的问题,然后它打开所需的程序来完成任务(例如将您登录到腻子)。但是,我希望批处理窗口移动到左上角(已经调整了大小和颜色以使其更明显),以便用户更容易单击它来查看我添加到它以在腻子中使用的“代码” .
这将分发给多个用户,我们不能添加 3rd 方程序,我不想向大家解释如何调整窗口的打开方式,我只是希望它始终打开左上角(不管计算机是如何设置的)。
最后,所有 PC 都运行 Windows 7,并提前感谢您的帮助!
window-position - Rainmeter '!SetVariable' 无法在命令行中运行
我的任务栏顶部有几个 Rainmeter 皮肤,它们充当更酷的时钟,为了将皮肤保持在任务栏上方,我有以下代码:
这样可以将皮肤保持在任务栏上方,但也可以将其保持在 youtube 全屏运行之类的东西之上。我有一个 AutoHotKey 脚本,它会在窗口变为全屏和全屏关闭时运行程序,所以我告诉它启动"%PathToRainmerer%\Rainmeter.exe" !SetVariable "ZAxis" "-1" Skin.ini
并"1"
在非全屏时运行,但什么也没发生。
我检查了所有内容以确保 AHK 脚本正常工作,我什至尝试Rainmeter.exe
使用快捷方式使用参数运行,但没有任何效果。我还设置了一个仪表,Text=#ZAxis#
它保持在一个。我猜问题出在语法上,但我找不到合适的文档(可能是因为我不擅长研究)。我可以提供有关礼貌要求的更多详细信息。
请记住,非常感谢善意和尊重的评论。
c - 在 TOPMOST 窗口之后放置一个窗口
我有一个窗口,它是 TOPMOST,我有另一个(myWindow)窗口,我想把它放在第一个窗口的后面,我不希望第二个窗口是最上面的:
但是 myWindow 一直表现得像最顶层的窗口,当我检查 myWindow 的WS_EX_TOPMOST
扩展样式属性时,它仍然处于打开状态。即使我将窗口放在最上面的窗口之后,是否可以关闭最上面的位?
c++ - 在 TaskManager 窗口失败并显示 ERROR_ACCESS_DENIED 后放置窗口
我试图在 TaskManager 窗口之后放置一个窗口,但它失败了ERROR_ACCESS_DENIED
:
TaskManager 窗口有什么特别之处吗?是否可以克服这个问题?谢谢。
c# - 如何查找 WPF 窗口位置更改的原因?
每当我从休眠状态恢复计算机时,我的位置似乎会Window
移动到屏幕顶部。我有以下记录我的窗口位置:
WindowTop
是一个从文件中加载到内存中的属性,该文件跟踪Window
上次关闭前的位置。每当这在启动时打印时,两个值都按预期正确。但是,从休眠状态恢复后,实际值会打印 0,而设置值仍然相同。这消除了加载不正确的设置值的原因。
每当计算机从休眠状态恢复时,我也尝试重新加载设置:
这也不能解决问题。但是,当我在MessageBox
加载之前添加 a 时,它会Window
在不正确的位置显示 ,然后它会正确加载设置并切换到正确的设置。由于我将窗口从原始位置移开,我可以在恢复时看到它会正确修复位置,然后不知何故,在解锁我的计算机后,它会自行移动到Top = 0
. 奇怪的是,Left
它根本不受这个问题的困扰。解决方案中这两个属性的所有用法都是相同的。普通 WPF 应用程序不会发生这种情况,所以我不确定如何进一步调查。奇怪的是,如果我只是手动锁定计算机,而不是通过休眠,则不会发生这种情况。
有没有办法找出是什么改变了我Window
的Top
财产?
编辑:我的解决方法是使用SystemEvents.SessionSwitch
andSessionSwitchReason.SessionUnlock
并从那里调用LoadUiSettings
,但这仍然是围绕实际问题的创可贴。我仍然想弄清楚是什么原因导致它并从根本上解决它。
编辑2:如果窗口当前不可见,设置它仍然不会改变实际位置。我暂时覆盖了可见性,然后执行了以下操作:
我看到窗口在等待调整时出现一瞬间,然后在它再次消失后,我通过 UI 手动切换可见性,它再次位于顶部。当它已经在正确的位置时手动切换它不会产生这种行为。
.net - 如何将表单放置在鼠标当前所在的屏幕上?
在网上搜索了一段时间,但没有找到我要找的东西。
也许有人可以帮助我。这是核心代码: http: //pastebin.com/qWEFrAuC
.net - 如何使用 .net 获取 Windows 资源管理器的位置?
我正在开发一个应用程序,当前台有一个 Windows 资源管理器窗口时触发。我的应用程序触发了一个窗口(表单),该窗口将放置在打开的窗口资源管理器附近的屏幕上(计划将其保留在搜索选项下方)。
但是我没有得到任何东西来获取前景“windows explorer”窗口的窗口位置。
有没有办法使用 .net 读取当前前景“Windows Explorer”窗口的位置?
c# - 检查当前最小化的窗口在最小化时是否处于最大化或正常状态
如何区分当前最小化的窗口是否在此之前最大化,而不是 C#/WinForms 中的正常状态?
我想使用应用程序设置使我的窗口的位置和状态保持不变,我正在关注https://stackoverflow.com/a/1876326/492336但如果窗口在关闭时最小化我不想要它在下一次应用程序启动时最小化(这是当前的答案)。
我想要的是,如果窗口在最小化时已最大化,则窗口开始最大化,如果在最小化时它处于正常状态,则以正常状态开始。