如果活动窗口是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