gpt4 book ai didi

c++ - 如何以编程方式移动 Windows 任务栏?

转载 作者:IT老高 更新时间:2023-10-28 12:58:12 28 4
gpt4 key购买 nike

我想知道任何类型的 API 或解决方法(例如脚本或注册表),以将 Windows 任务栏移动(或调整大小)到另一个位置,包括另一个显示器(如果是双显示器)。当然,我们可以使用鼠标移动任务栏,但我想通过程序或某种自动化方式移动它。

我试图找到 Win32 API,但似乎没有人做这项工作。

编辑:我对很多人的意见感到惊讶。让我解释一下我为什么想要它。在我的工作场所,我使用双显示器(分辨率不同),任务栏放在左显示器上,而主显示器是右显示器。但是,我经常通过远程桌面连接到我的工作电脑。远程连接后,切换任务栏位置。这就是为什么我想制作一个可以保存/恢复任务栏位置的简单程序。每天我都必须重新排列我的任务栏。而已。我只想要

最佳答案

我在 Windows 7 上也有此需求。以下是我使用自动热键脚本执行此操作的方法:

; This script will try to drag and move the taskbar to where the *current* mouse
; cursor is

; 0x111: WM_COMMAND, 424: lock/unlock taskbar, http://www.codeproject.com/KB/miscctrl/Taskbar_Manipulation.aspx
RegRead, TaskbarLocked, HKEY_CURRENT_USER, SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced, TaskbarSizeMove
If TaskbarLocked = 0
SendMessage 0x111, 424, , , ahk_class Shell_TrayWnd

WinActivate ahk_class Shell_TrayWnd
MouseGetPos targetX, targetY
ControlGetPos x, y, w, h, MSTaskListWClass1, ahk_class Shell_TrayWnd
MouseMove x+1, y+1
MouseClickDrag Left, x+1, y+1, targetX, targetY, 10

; often after dragging the taskbar to left or right side of a monitor, even though
; there are enough room to show two columns of icons, it will only show one column,
; it seems showing or hiding an icon will fix this
Menu, Tray, NoIcon
Menu, Tray, Icon

; lock the taskbar if it was previously locked
If TaskbarLocked = 0
SendMessage 0x111, 424, , , ahk_class Shell_TrayWnd

我已经在带有经典窗口主题的 Windows 7 上对此进行了测试。要使用此功能,请分配一个热键来调用此脚本,然后将鼠标光标定位到要将任务栏拖到的位置,然后按热键。

关于c++ - 如何以编程方式移动 Windows 任务栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2067497/

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