Autohotkey 如何在自动热键中将窗口标题传递给用户函数

Autohotkey 如何在自动热键中将窗口标题传递给用户函数,autohotkey,Autohotkey,我想将窗口标题传递到我在AutoHotKey中编写的函数中,窗口标题WinTitle是字符串吗?我有4个窗口标题,我需要将它们传递给同一个函数 Extract(my_window_title) { ; Wake and select the correct window to be in focus WinWait, my_window_title, IfWinNotActive, my_window_title, , WinActivate, my_window_title, WinWai

我想将窗口标题传递到我在AutoHotKey中编写的函数中,窗口标题
WinTitle
是字符串吗?我有4个窗口标题,我需要将它们传递给同一个函数

Extract(my_window_title) {
; Wake and select the correct window to be in focus
WinWait, my_window_title, 
IfWinNotActive, my_window_title, , WinActivate, my_window_title, 
WinWaitActive, my_window_title,
; ... do a bunch of things
}
我这样调用函数

title1 = "Some title"
Extract(title1) 

我还尝试将
%
放在所有变量中

有一些事情看起来像是它们在脚本中引起了问题

分配字符串值并使用
=
时,不需要引号。如果使用
:=
分配值,则需要引号。这两条线是等效的:

    title1 := "Some Title"
    title1 = Some Title
一旦通过函数调用这些值,即
提取(title1)
,就必须使用
%
符号(如问题末尾所述)。这可以通过两种方式调用:

    WinActivate, %my_window_title%
    WinActivate, % my_window_title

如果标题无效,脚本将无限期地等待
WinWait
WinWaitActive
。我建议使用一个,然后检查
ErrorLevel
,看看它是否成功。

有几件事情似乎是它们在脚本中造成了问题

分配字符串值并使用
=
时,不需要引号。如果使用
:=
分配值,则需要引号。这两条线是等效的:

    title1 := "Some Title"
    title1 = Some Title
一旦通过函数调用这些值,即
提取(title1)
,就必须使用
%
符号(如问题末尾所述)。这可以通过两种方式调用:

    WinActivate, %my_window_title%
    WinActivate, % my_window_title

如果标题无效,脚本将无限期地等待
WinWait
WinWaitActive
。我建议使用一个,然后检查
ErrorLevel
,看看它是否成功。

有几件事情似乎是它们在脚本中造成了问题

分配字符串值并使用
=
时,不需要引号。如果使用
:=
分配值,则需要引号。这两条线是等效的:

    title1 := "Some Title"
    title1 = Some Title
一旦通过函数调用这些值,即
提取(title1)
,就必须使用
%
符号(如问题末尾所述)。这可以通过两种方式调用:

    WinActivate, %my_window_title%
    WinActivate, % my_window_title

如果标题无效,脚本将无限期地等待
WinWait
WinWaitActive
。我建议使用一个,然后检查
ErrorLevel
,看看它是否成功。

有几件事情似乎是它们在脚本中造成了问题

分配字符串值并使用
=
时,不需要引号。如果使用
:=
分配值,则需要引号。这两条线是等效的:

    title1 := "Some Title"
    title1 = Some Title
一旦通过函数调用这些值,即
提取(title1)
,就必须使用
%
符号(如问题末尾所述)。这可以通过两种方式调用:

    WinActivate, %my_window_title%
    WinActivate, % my_window_title

如果标题无效,脚本将无限期地等待
WinWait
WinWaitActive
。我建议使用a,然后检查
ErrorLevel
,看看它是否成功。

是WinTitle基本上是一个字符串。 检查一下你的自动热键文件夹,应该有一个名为“AU3_Spy.exe”的文件。使用它查找窗口标题

正如Elliot DeNolf已经提到的,你在变量方面犯了一些错误。您还应该再看看ifwinnotative的语法。 这应该起作用:

Extract(my_window_title) {
    ; Wake and select the correct window to be in focus
    WinWait, %my_window_title%
    IfWinNotActive, %my_window_title%
    {
        WinActivate, %my_window_title%
        WinWaitActive, %my_window_title%
    }
    msgbox, %my_window_title%
    ; ... do a bunch of things
}

title1 = MyWindowTitle
Extract(title1) ;functions always expect variables, no percent-signs here

是的,WinTitle基本上是一个字符串。 检查一下你的自动热键文件夹,应该有一个名为“AU3_Spy.exe”的文件。使用它查找窗口标题

正如Elliot DeNolf已经提到的,你在变量方面犯了一些错误。您还应该再看看ifwinnotative的语法。 这应该起作用:

Extract(my_window_title) {
    ; Wake and select the correct window to be in focus
    WinWait, %my_window_title%
    IfWinNotActive, %my_window_title%
    {
        WinActivate, %my_window_title%
        WinWaitActive, %my_window_title%
    }
    msgbox, %my_window_title%
    ; ... do a bunch of things
}

title1 = MyWindowTitle
Extract(title1) ;functions always expect variables, no percent-signs here

是的,WinTitle基本上是一个字符串。 检查一下你的自动热键文件夹,应该有一个名为“AU3_Spy.exe”的文件。使用它查找窗口标题

正如Elliot DeNolf已经提到的,你在变量方面犯了一些错误。您还应该再看看ifwinnotative的语法。 这应该起作用:

Extract(my_window_title) {
    ; Wake and select the correct window to be in focus
    WinWait, %my_window_title%
    IfWinNotActive, %my_window_title%
    {
        WinActivate, %my_window_title%
        WinWaitActive, %my_window_title%
    }
    msgbox, %my_window_title%
    ; ... do a bunch of things
}

title1 = MyWindowTitle
Extract(title1) ;functions always expect variables, no percent-signs here

是的,WinTitle基本上是一个字符串。 检查一下你的自动热键文件夹,应该有一个名为“AU3_Spy.exe”的文件。使用它查找窗口标题

正如Elliot DeNolf已经提到的,你在变量方面犯了一些错误。您还应该再看看ifwinnotative的语法。 这应该起作用:

Extract(my_window_title) {
    ; Wake and select the correct window to be in focus
    WinWait, %my_window_title%
    IfWinNotActive, %my_window_title%
    {
        WinActivate, %my_window_title%
        WinWaitActive, %my_window_title%
    }
    msgbox, %my_window_title%
    ; ... do a bunch of things
}

title1 = MyWindowTitle
Extract(title1) ;functions always expect variables, no percent-signs here

请通过高亮显示多行代码并单击
{}
按钮来设置多行代码的格式。请通过高亮显示多行代码并单击
{}
按钮来设置多行代码的格式。请通过高亮显示多行代码并单击
{}按钮来设置多行代码的格式
按钮。