作为一种习惯python的方法,我试图将我的一些代码从Autohotkey_L转换为python .
我立刻遇到了大量的收集对象选择.
你能不能帮我找出一个内置式或第三方提供的具有尽可能多的类型,AutoHotkey_L的功能对象类型和方法.
AutoHotkey_L对象具有python dict,list和类实例的功能.
我知道空间和速度存在权衡,但我只对功能而不是优化问题感兴趣.
我的桌面上有一个指向远程桌面连接的图标
链接是“test.rdp”
我想从脚本中的 autohotkey 开始。
关于如何从命令行启动它的任何想法?
我对这个程序很新,并没有真正处理过很多脚本,所以我不知道从哪里开始.我需要做的是为我的Xbox360控制器设置热键,当保持(持续3秒)时启动Steam Big Picture,然后当该程序运行并保持键(持续3秒)Big Picture将关闭,如果当前不在一个游戏.
这个脚本完成了我想要它做的一半......
#IfWinNotExist, Steam ahk_class CUIEngineWin32
Joy7::
Process, Exist, Steam.exe
if ErrorLevel
Run, "steam://open/bigpicture"
else
Run, "D:\Program Files (x86)\Steam\Steam.exe" -bigpicture
Run Code Online (Sandbox Code Playgroud)
我唯一想改变的是:
有关如何做到这一点的任何想法?任何帮助将不胜感激,谢谢!
我从未使用过它,经过几次尝试后,我觉得我永远不会得到它。我觉得这个小程序有潜力,但在发现 chrome 有多个子窗口后,我想我不知道发生了什么,所以请帮助...
我需要一个脚本,当我按下Ctrl+R而不切换到 chrome 时,它会在 chrome 的当前选项卡上重新加载页面,然后该键几乎没有变化来实际切换和刷新。比如说 Numpad 1 只用于刷新,Numpad 2 用于切换和刷新。
我一直在想 - 在 ahk 脚本中处理循环的最佳方法是什么?
例如,而不是:
; Collect results 1
Sleep 1000
Addr1 := IE.document.getElementsByClassName("name")[0].innertext
String_Object := StrSplit(addr1, "`,")
If (Substr(Addr1, 1, 2) = "MK")
{
Addr1 := String_Object[2] . "," . Trim(String_Object[3]) . "," . PostCode
MsgBox, %Addr1%
}
Else
{
Addr1 := String_Object[1] . "," . Trim(String_Object[2]) . "," . PostCode
MsgBox, %Addr1%
}
; Collect results 2
Sleep 1000
Addr2 := IE.document.getElementsByClassName("name")[1].innertext
String_Object := StrSplit(addr2, "`,")
If (Substr(Addr2, 1, 2) = "MK")
{
Addr2 := String_Object[2] . …Run Code Online (Sandbox Code Playgroud) 因不清楚问题而终止吗?所以我有答案吗?
需要在Windows资源管理器中单击文件上的鼠标左键,您会收到一条包含完整文件路径的消息。
示例:如果单击文件win.ini上的鼠标,则显示MsgBox:c:\ windows \ win.ini
OBS:拜托,我需要准备好示例答案,因为我的英语太糟糕了,而且我是编程的新手。
autohotkey windows-explorer capture filepath file-properties
#NoEnv
SetWorkingDir %A_ScriptDir%
FileRead, string, file.txt
MsgBox,0,, %string%
Run Code Online (Sandbox Code Playgroud)
因为:
SetWorkingDir %A_ScriptDir%
Run Code Online (Sandbox Code Playgroud)
我可以引用file.txt而不是明确它的路径,但对于一个项目,我需要完整的文件路径,但我不知道如何得到它.理想情况下,我不想使用FileSelectFile,因为这只会为用户添加另一个步骤.
有解决方案吗
当我尝试自动缩进 .ahk 文件时,我收到“没有安装‘ahk’文件的格式化程序”。如何创建一个基本的格式化程序?
我有一个脚本,用于通过提供完整的 exe 路径(例如“c:\run\myprogram.exe”)来关闭程序,并且我希望它能够正常关闭它。我已经成功地使用Process, Close, %hWnd%or强制执行此WinClose, ahk_id %iId%操作,但我一直在寻找一种方法,该方法可以通过其完整路径关闭给定程序,然后优雅地关闭它而不强制关闭它。
到目前为止,我有这个脚本:
closeByExactPathToEXE(path) {
for process in ComObjGet("winmgmts:").ExecQuery("Select * from Win32_Process") {
If (ePath := process.ExecutablePath){
iName := process.Name
iId := process.ProcessId
hWnd := process.Handle
ePath := process.ExecutablePath
SplitPath, ePath,, oPath,,,oDrive
;MsgBox % "Letter:" oDrive "`nPath: "oPath "`npath" path
If !InStr(ePath,path)
Continue
Loop, parse, exCludes, CSV
If (iName = A_LoopField )
Continue
;My NO!!!
If (iId = AmiNO) or (iName = A_ScriptName)
continue
;~ MsgBox % "Letter:" oDrive "`nPath: "oPath …Run Code Online (Sandbox Code Playgroud)这个脚本应该让我从 Windows 切换到 Linux(VM),反之亦然:
Pause::vmStart()
return
runVM := false
linux := false
vmStart()
{
If (!runVM and !linux) {
Run, C:\Users\patrick\dev-vm\PS.cmd
runVM := true
sleep, 18000
}
If (!linux and !WinExist("DevVM - 127.0.0.1:23389 - RDP")) {
Run, C:\Users\patrick\dev-vm\RDP.cmd
}
if (!linux) {
WinShow, DevVM - 127.0.0.1:23389 - RDP
WinActivate, DevVM - 127.0.0.1:23389 - RDP
}
Send ^!{CtrlBreak}
linux := !linux
}
Run Code Online (Sandbox Code Playgroud)
我认为我的括号/函数/布尔定义有问题。你发现错误了吗?
当我在#ifwinactive 之后声明一个全局变量时,会弹出一条错误消息,显示该变量未声明。
我有一个很长的脚本,里面有很多#ifwinactive ahk_exe xxx。在这些代码下面,我想声明一个全局变量。但这不起作用。每当我运行脚本时,它都会警告我未声明全局变量。这是我的脚本的简要介绍。
在脚本的顶部,我有这些环境设置:
#NoEnv
#Warn
SendMode Input
SetWorkingDir %A_ScriptDir%
SetTitleMatchMode, 2
Run Code Online (Sandbox Code Playgroud)
然后我有许多特定于窗口的热键:
#ifwinactive ahk_exe Explorer.EXE
;some hotkeys
#ifwinactive ahk_exe WINWORD.EXE
;some extra hotkeys
;etc.
Run Code Online (Sandbox Code Playgroud)
在底部,我尝试声明一个全局变量,这就是发生错误的地方:
#ifwinactive
a := 1
^p::
if (a != 1){
a := 1
} else {
a := 0
}
return
#if winactive("- YouTube -") and a != 1
p::msgbox,Yes
#if a = 1 and winactive("- YouTube -")
p::msgbox,no
#if
Run Code Online (Sandbox Code Playgroud) autohotkey ×12
rdp ×2
capture ×1
command-line ×1
declare ×1
filepath ×1
if-statement ×1
python ×1
variables ×1
windows ×1