标签: autohotkey

如何确定颜色是否在色调范围内

我不确定这是否可能,因为我已经寻找了几个小时,但找不到我要找的东西。

我正在做的是从半透明的游戏面板中获取颜色,因此我所获取的颜色总是在微妙地变化。需要的是一种方法来检查它是否与我想要的颜色相差 +/- 10 左右。

类似如果 color1 是 0x 的 +/-10?

我尝试过使用图像搜索来执行类似的操作,但没有成功。

任何帮助将不胜感激

autohotkey getpixel

1
推荐指数
1
解决办法
3669
查看次数

如何在 Autohotkey 中发送多行文本?

当按下 WINKEY + ALT + C 时,此代码将粘贴 1 行文本:

#!c::
  SendInput, Some random text
Return
Run Code Online (Sandbox Code Playgroud)

但我需要传递更大的多行文本。

有什么\n我可以使用的吗?如果我可以在 txt 文件中包含准确的文本并按原样粘贴 AHK,那就太好了。

autohotkey

1
推荐指数
1
解决办法
2074
查看次数

AutoHotkey:无法发送加号字符串

尝试过 SO 以及很多社区,但没有运气!

我有一个\\ParentFolder\ChildFolder1\ChildFolder2\113700+112688+18923466+100.56.pdf需要在对话框中发送的文件路径。由于文件包含一个符号,当我通过or发送字符串时,+它会被替换。有没有其他方法可以将路径与标志一起发送。!SendSendRaw+

regex autohotkey

1
推荐指数
1
解决办法
1067
查看次数

在 Windows 中获取文件和文件夹图标的通用方法

我正在编写 AutoHotkey 脚本并希望将目录的内容与图标一起显示。我发现的一切都表明,获取图标需要使用许多不同的 winapi 函数来获取图标:文件夹、exe 文件、与程序关联的文件等。 是否有 DLL、winapi 函数或 AuoHotkey 库具有许多通用接口文件类型?

dll winapi autohotkey

1
推荐指数
1
解决办法
85
查看次数

转义字符不适用于感叹号

我是 autoHotKey 的新手。我正在尝试为 hw 做一个热字符串 --> 你好,世界!问题是我无法逃脱!它只是说“你好,世界”——没有感叹号。我已经尝试过以下方法:'

::hw::你好,世界!
::hw::你好,世界`!
::hw::你好,世界\!
::hw::“你好,世界!”

无济于事。请帮忙。

谢谢

autohotkey

1
推荐指数
1
解决办法
385
查看次数

如何在 AutoHotkey 中将热键绑定到类方法

在 AutoHotkey (1.1.29.01) 中,如何动态地将热键绑定到类方法?

class MyClass
{
    SayHi()
    {
        MsgBox Hi!
    }

    BindHotkey()
    {
        Hotkey, Enter, this.SayHi, On
    }
}
Run Code Online (Sandbox Code Playgroud)

错误:

目标标签不存在

autohotkey

1
推荐指数
1
解决办法
575
查看次数

使用自动热键附加带有剪贴板内容的 .txt 文档

!w::
Sendinput ^c ; copy selection
Sleep 1000 ; gives time for the copy to work
FileAppend, `n`n%clipboard%, C:\Users\John Salter\ToAnki.txt; Add clipboard content to the end of a text file. Insert 2 new lines before inserting the clipboard with `n`n
Return
Run Code Online (Sandbox Code Playgroud)

这是我一直在尝试使用的脚本。我担心“John”和“Salter”之间的空格,因此在其他位置尝试过,但仍然不起作用。

我没有收到任何错误消息。

剪贴板的内容已更改,因此问题出在第二行下方。

查看帮助文档,FileAppend 的使用似乎可行。

有人能弄清楚出了什么问题吗?

谢谢!

autohotkey

1
推荐指数
1
解决办法
974
查看次数

如何获取所有活动监视器的句柄

如何获取每个监视器的句柄?我需要知道哪个监视器句柄对应于每个物理监视器。如果我还有每个显示器的位置和编号,我就可以找到它。但我什至无法拿到显示器的手柄。

我已经阅读了 EnumDisplayMonitors 的文档数十次,但我尝试过的任何方法都不起作用。

我尝试这样做:

oEnumDisplayMonitors := RegisterCallback("EnumMonitorsProc")
DllCall("EnumDisplayMonitors", "Ptr", 0, "Ptr", 0, "Ptr", oEnumDisplayMonitors, "Ptr", 0)
omh := oEnumDisplayMonitors.monitorHandle
h := oEnumDisplayMonitors.hdc
olpr := oEnumDisplayMonitors.lpRect

EnumMonitorsProc(monitorHandle, hdc, lpRect, lParam){
}
Run Code Online (Sandbox Code Playgroud)

但是 EnumMonitorsProc 的每个参数的值都是 null。

我还按照这篇文章中的示例尝试了以下操作:https://www.autohotkey.com/boards/viewtopic.php?f=6&t=4606 但是,脚本一旦发出 DllCall("枚举显示监视器”,...

Monitors := MDMF_Enum("")
    For HMON, M In Monitors {
        l := M.Left
        t := M.Top
        h := HMON
    }

MDMF_Enum(HMON := "") {
   Static EnumProc := RegisterCallback("MDMF_EnumProc")
   Static Monitors := {}
   If (HMON = "") ; new enumeration
      Monitors := {} …
Run Code Online (Sandbox Code Playgroud)

autohotkey

1
推荐指数
1
解决办法
553
查看次数

通过进程名称在窗口上WinActivate?

简而言之,我想要 Ctrl+Alt+T 激活 Windows 终端窗口。以前我用过这个:

^!T::
    if WinExist("Windows PowerShell")
        WinActivate
    else
        Run, wt
Return
Run Code Online (Sandbox Code Playgroud)

但这已经不再有效,因为当我使用 Posh Git 时,Windows 终端会更改其标题。

因此,我需要在进程名称为“WindowsTerminal.exe”的任何窗口上激活该窗口。

我已经尝试过,但由于某种原因它无法识别正确的窗口:

^!T::
    if WinExist(ahk_exe "WindowsTerminal.exe")
        WinActivate
    else
        Run, wt
Return
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

autohotkey

1
推荐指数
1
解决办法
2814
查看次数

禁用 Alt 键访问 Windows 菜单/导致菜单加速

基本上,当您按 Alt 时,它会激活窗口菜单(由小下划线表示),因此当您按任何其他键时,如果它是有效组合,它会打开一个下拉菜单(例如 Alt+F 下拉文件菜单,Alt+E编辑菜单等)或者如果无效则发出默认的窗口蜂鸣声。

我尝试过以各种方式使用自动热键,但我最成功的是完全关闭 Alt 键,但这不是我想要的,我只是希望它进入窗口菜单的功能被删除,但仍然可以以其他方式工作。

windows autohotkey keyboard-shortcuts

1
推荐指数
1
解决办法
2674
查看次数

标签 统计

autohotkey ×10

dll ×1

getpixel ×1

keyboard-shortcuts ×1

regex ×1

winapi ×1

windows ×1