屏幕右上角的永久工具提示

Permanent Tooltip in the Upper Right-Hand corner of screen

我有点问题。我需要在屏幕的右上角放置一个工具提示(我使用几台不同分辨率的计算机),在脚本终止之前不会消失,但会根据热键更改其文本按下。任何人都可以给我一个例子吗?我在 Google 上找到了一些东西,但没有找到我要找的东西。

示例:

key_SIMPLE1:="F1"
key_SIMPLE2:="F2"
key_SIMPLE3:="F3"
key_COMPLEX1:="F4"


loop 
{
sleep 1


if GetKeyState(key_SIMPLE1)
{
Tooltip, Simple Mode 1
SetTimer, ResetTooltip, -500
}

if GetKeyState(key_SIMPLE2)
{
Tooltip, Simple Mode 2
SetTimer, ResetTooltip, -500
}

if GetKeyState(key_SIMPLE3)
{
Tooltip, Simple Mode 3
SetTimer, ResetTooltip, -500
}

if GetKeyState(key_COMPLEX1)
{
Tooltip, Complex Mode 1
SetTimer, ResetTooltip, -500
}

所以基本上我有一个工具提示显示在鼠标位置,指示用户选择了什么。这个工具提示消失了。我有兴趣获得第二个工具提示(不会消失 - 默认情况下显示 "Nothing"),它会根据按下的热键而变化。

因此,如果我按 F1,我会在鼠标附近看到一个工具提示,上面写着 "Simple Mode 1"(这个消失了),右上角的第二个工具提示也说 "Simple Mode 1" 没有消失。

然后,如果我按 F2,我会在鼠标附近看到一个工具提示,上面写着 "Simple Mode 2"(这个消失了),第二个工具提示更新为 "Simple Mode 2".

这会在按下 F4 时在屏幕右上角显示一个工具提示,并在按下 F1、F2 或 F3 时将其移除。

CoordMode tooltip, screen
F1::
F2::
F3::tooltip ,,,,9
F4::tooltip  Blah Boo, A_ScreenWidth - 100, 0, 9

此脚本应该可以帮助您前进。不用 运行 不断循环检查模式,只需在按下热键时调用函数即可。

如果在多个显示器上使用,它只会在主显示器上显示。

F5F6 会呼叫永久 Tooltip 留在顶部 "right" 角落,虽然不可能把它放在正确的角落。

F7F8 会叫一个永久的 SplashText 标题栏留在右上角。你可以让它留在确切的角落,在我看来看起来更好。它具有隐藏最大化 windows 的最小化和关闭图标的副作用。我通过 a) 将 SplashText 向下移动 20 像素和 b) 设置 TransColor 来解决这个问题,这样点击就会落到它后面的 window。

Tooltip/SplashText 将在脚本关闭时消失。

; will have issues with multiple monitors (will only show on main monitor)

; used to place tooltips relative to screen instead of active window
CoordMode, ToolTip ; https://autohotkey.com/docs/commands/CoordMode.htm

ShowSplash("Nothing", 300)

F5::ShowTooltip("Mode 5", 200)

F6::ShowTooltip("Mode 6", 200)

F7::ShowSplash("Mode 7", 300)

F8::ShowSplash("Mode 8", 300)

ShowTooltip(title, width) ; https://autohotkey.com/docs/commands/ToolTip.htm
{
    Tooltip ; remove existing tooltip
    Tooltip %title%, A_ScreenWidth - width, 0
}

ShowSplash(title, width) ; https://autohotkey.com/docs/commands/SplashTextOn.htm
{
    SplashTextOff ; remove existing splash text
    SplashTextOn, width, , %title%
    WinMove, %title%, , A_ScreenWidth - width, 20 ; moved down a bit so can see close buttons in top corner
    WinSet, TransColor, White, %title% ; allows to click through white, so can close windows under SplashText   
}

这会在鼠标位置和屏幕右上角显示工具提示。 1秒后鼠标光标工具提示消失

CoordMode tooltip, screen

F1::show("Simple Mode 1")
F2::show("Simple Mode 2")
F3::show("Simple Mode 3")

show(text) {
  tooltip %text%
  tooltip %text%, A_ScreenWidth - 100, 0, 9
  settimer clear_tool_tip, -1000
}

clear_tool_tip:
  tooltip
  return