我不确定这是否可能,因为我已经寻找了几个小时,但找不到我要找的东西。
我正在做的是从半透明的游戏面板中获取颜色,因此我所获取的颜色总是在微妙地变化。需要的是一种方法来检查它是否与我想要的颜色相差 +/- 10 左右。
类似如果 color1 是 0x 的 +/-10?
我尝试过使用图像搜索来执行类似的操作,但没有成功。
任何帮助将不胜感激
当按下 WINKEY + ALT + C 时,此代码将粘贴 1 行文本:
#!c::
SendInput, Some random text
Return
Run Code Online (Sandbox Code Playgroud)
但我需要传递更大的多行文本。
有什么\n我可以使用的吗?如果我可以在 txt 文件中包含准确的文本并按原样粘贴 AHK,那就太好了。
尝试过 SO 以及很多社区,但没有运气!
我有一个\\ParentFolder\ChildFolder1\ChildFolder2\113700+112688+18923466+100.56.pdf需要在对话框中发送的文件路径。由于文件包含一个符号,当我通过or发送字符串时,+它会被替换。有没有其他方法可以将路径与标志一起发送。!SendSendRaw+
我正在编写 AutoHotkey 脚本并希望将目录的内容与图标一起显示。我发现的一切都表明,获取图标需要使用许多不同的 winapi 函数来获取图标:文件夹、exe 文件、与程序关联的文件等。 是否有 DLL、winapi 函数或 AuoHotkey 库具有许多通用接口文件类型?
我是 autoHotKey 的新手。我正在尝试为 hw 做一个热字符串 --> 你好,世界!问题是我无法逃脱!它只是说“你好,世界”——没有感叹号。我已经尝试过以下方法:'
::hw::你好,世界!
::hw::你好,世界`!
::hw::你好,世界\!
::hw::“你好,世界!”
无济于事。请帮忙。
谢谢
在 AutoHotkey (1.1.29.01) 中,如何动态地将热键绑定到类方法?
class MyClass
{
SayHi()
{
MsgBox Hi!
}
BindHotkey()
{
Hotkey, Enter, this.SayHi, On
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
目标标签不存在
!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 的使用似乎可行。
有人能弄清楚出了什么问题吗?
谢谢!
如何获取每个监视器的句柄?我需要知道哪个监视器句柄对应于每个物理监视器。如果我还有每个显示器的位置和编号,我就可以找到它。但我什至无法拿到显示器的手柄。
我已经阅读了 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) 简而言之,我想要 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)
基本上,当您按 Alt 时,它会激活窗口菜单(由小下划线表示),因此当您按任何其他键时,如果它是有效组合,它会打开一个下拉菜单(例如 Alt+F 下拉文件菜单,Alt+E编辑菜单等)或者如果无效则发出默认的窗口蜂鸣声。
我尝试过以各种方式使用自动热键,但我最成功的是完全关闭 Alt 键,但这不是我想要的,我只是希望它进入窗口菜单的功能被删除,但仍然可以以其他方式工作。