我试图通过python脚本实例化一个程序,如下所示
os.startfile('“C:/ Program Files / Autodesk / 3ds Max 2010 / 3dsmax.exe”')
由于Max需要一点时间来加载,我想等到它完全加载完毕。我检查任务管理器以查看列表中是否有“3dsmax10.exe”,但是一旦进程开始(显然)它就在列表中。那么有没有办法找出它是否已完全装满?感谢任何帮助
由于
答案 0 :(得分:2)
这是一个hackish(非强大)解决方案。在命令行上使用MAXScript脚本启动3ds Max。例如
c:\3dsmax\3dsmax -U MAXScript myscript.ms
正如Parceval建议的那样,这个脚本可以使用MAXScript命令创建一个新文件:
createFile c:\tmp\myfile.txt
接下来在Python中等待文件存在(不要忘记先删除它)。总而言之:
while not os.path.exists(c:\tmp\myfile.txt):
time.sleep(1)
答案 1 :(得分:1)
完全加载有点主观。据我所知,3DS MAX执行插件加载 - 这是加载时间的绝对主要部分 - 显示启动画面。只有在加载完成后才会显示其主窗口。
您可以使用此事实并使用WinAPI持续监视现有窗口,以了解主窗口何时出现。使用标题文本或wnd-class来查找它。
答案 2 :(得分:1)
您可以在 maxhome \ Scripts \ Startup中放置一个简单的maxscript脚本,该脚本将在最大完成启动时启动。这个脚本可以创建一个文件,或通过com或tcp与你的python脚本通信。