You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Max Script中如何获取Hierarchy面板Link Info按钮hwnd或触发按下状态

方案1:直接触发按钮效果(无需获取HWND,兼容性最优)

不需要操作Windows窗口句柄,直接调用3ds Max内置的CUI接口即可激活Link Info面板,该方法适配所有主流Max版本,不受界面布局、控件变动影响:

-- 切换到Hierarchy层级命令面板
max hierarchy mode
-- 直接打开Link Info子面板
cui.openCommandPanelPage #hierarchy "Link Info"

如果需要模拟按钮按下/抬起的状态切换,可以搭配actionMan接口实现:

actionMan.executeAction 111616268 "1"

你之前无法获取HWND的核心原因是:3ds Max只会渲染当前激活面板下的控件,未展开的Hierarchy面板中的Link Info按钮不会生成对应的窗口句柄。如果确实需要获取句柄操作,可按以下步骤实现:

-- 先激活Hierarchy面板,确保Link Info按钮已渲染
max hierarchy mode

-- 获取3ds Max主窗口句柄
local mainHwnd = windows.getMAXHWND()
-- 获取命令面板父窗口句柄
local cmdPanelHwnd = windows.getChildHWND mainHwnd "Command Panel"
local linkInfoHwnd = undefined

-- 遍历命令面板下的所有子控件匹配目标按钮
windows.enumChildWindows cmdPanelHwnd (fn enumCb hwnd lparam = (
    if windows.getWindowText hwnd == "Link Info" do (
        linkInfoHwnd = hwnd
        return false -- 找到目标后终止遍历
    )
    return true
)) 0

-- 成功获取句柄后触发点击
if linkInfoHwnd != undefined do (
    UIAccessor.PressButton linkInfoHwnd
)

注意事项:

  • 中文界面的Max需要将匹配文本Link Info替换为链接信息
  • 不同Max版本的控件层级、控件ID可能存在差异,该方法无法保证跨版本可用

内容的提问来源于stack exchange,提问作者KCH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:27:03