PowerToys 将默认的AlwaysOnTop热键更新为可脚本化的按键,并添加命令行支持,

ffx8fchx  于 6个月前  发布在  其他
关注(0)|答案(3)|浏览(47)

新功能/增强功能的描述

默认情况下,AlwaysOnTop热键设置为Win + Ctrl + T。不幸的是,SendKeys类无法调用此键组合,因为SendKeys不支持Win键。为了解决这个问题并启用开箱即用的可脚本功能,我建议将默认热键更新为Ctrl + Alt + T。
需要更新的文件有:
src\modules\alwaysontop\AlwaysOnTop\Settings.h
src\settings-ui\Settings.UI.Library\AlwaysOnTopProperties.cs
注意:将来可能还希望能够通过命令行调用AlwaysOnTop。cmd语法可能如下所示:

AlwaysOnTop -window <TargetWindowName> -boarder <#px> -enabled <Bool>

何时会使用这个功能?

这是一个简单的更新默认设置,以便可以通过原生类调用AlwaysOnTop,而目前这是不可能的。

支持信息

  • 无响应*
tcomlyy6

tcomlyy61#

我进行了一个快速的测试,更新了src\modules\alwaysontop\AlwaysOnTopSettings.h和src\settings-ui\Settings.UI.Library\AlwaysOnTopProperties.cs中的热键设置。
然而,似乎在编译并重新安装后,系统仍然将默认热键注册为Win+Ctrl+T。
我进行了一些调查,但无法确定安装程序可能在哪里存储和示例化此设置。有人能指点我正确的方向吗?也许@stefansjfw?

9jyewag0

9jyewag02#

另一个奇怪的观察。如果我卸载然后重新安装PowerToys,期望的Ctrl+Alt+T热键被正确注册

y4ekin9u

y4ekin9u3#

经过进一步调查,发现在

PowerToys\src\modules\alwaysontop\AlwaysOnTopModuleInterface\dllmain.cpp

中有一个额外的回退设置。

Logger::info("AlwaysOnTop is going to use default shortcut");
            m_hotkey.win = false;
            m_hotkey.alt = true;
            m_hotkey.shift = false;
            m_hotkey.ctrl = true;
            m_hotkey.key = 'T';

更新第258-262行解决了首次安装时的设置不匹配问题。

相关问题