Autohotkey如果WinActive

时间:2018-01-22 00:22:08

标签: autohotkey 3dsmax

如果活动窗口是3ds max,或者在资源管理器和浏览器中返回,这是我用来使用密钥1发送1的脚本。我的代码仅在窗口是新打开的未保存3ds max文件时才有效。如何让它与任何3ds max文件一起使用?我知道max的ahk_class是3DSMAX。

1::
if WinActive("Untitled - Autodesk 3ds Max 2018")
{
    Send, 1
}
Else
{
    Send, {Alt Down}{Right Down}{Right Up}{Alt Up}

}
Return

官方文档说明了

if WinActive("ahk_class Notepad") or WinActive("ahk_class" . ClassName)

但这都不起作用

if WinActive("ahk_class 3DSMAX") or WinActive("ahk_class" . ClassName)

这也不行

if WinActive("ahk_class 3DSMAX")

这也不行

WinActive("ahk_class" . 3DSMAX)

我无法使用

#IfwinActive ahk_class 3DSMAX

即使它有效,因为我的脚本使用拦截来使用Razer Naga Hex上的宏键,与我的键盘键分开发送,一旦我开始添加我使用的所有软件,它将变得非常复杂。

这是完整的脚本

#HotkeyInterval 20000  ; This is  the default value (milliseconds).
#MaxHotkeysPerInterval 2000
#SingleInstance force
#Persistent 

#if (getKeyState("F22", "P"))
F22::return
;=========================================

1::
if WinActive("Untitled - Autodesk 3ds Max 2018")
{
    Send, 1
}
Else
{
    send, {Alt Down}{Right Down}{Right Up}{Alt Up}
}
return

;=========================================
2::
send, {Ctrl Down}z{Ctrl Up}
return
;========================================
3::
send, {Ctrl Down}y{Ctrl Up}
return
;=========================================
4::
send, {Alt Down}{Left Down}{Left Up}{Alt Up}
return
;=========================================
5::
return
;=========================================
6::
return
;==========================================
7::
return
;==========================================
#if
return

0 个答案:

没有答案