2010-05-28 84 views
3

我試圖通過Python腳本實例化一個程序如下如何檢查是否MAX完成加載

os.startfile(「 「C:/ Program Files文件/歐特克/ 3ds Max的2010/3dsmax.exe更」 ')

由於Max需要一些時間來加載,我想等到它完成加載完成。我檢查任務管理器以查看列表中是否存在「3dsmax10.exe」,但只要進程啓動(顯然)它就在列表中。那麼有沒有辦法找出它是否已經完全加載?

任何幫助表示讚賞

感謝

回答

1

完全加載是主觀的一點。據我記憶,3DS MAX執行插件加載 - 這是加載時間的絕對主要部分 - 顯示您的啓動畫面。只有在加載完成後才顯示其主窗口。

你可以使用這個事實,並不斷監視使用WinAPI現有的窗口,以瞭解何時出現主窗口。使用標題文本或wnd-class來找到它。

1

你可以把一個簡單的maxscript腳本放在maxhome \ Scripts \ Startup中,當max最大啓動時會啓動它。這個腳本可以創建一個文件,或通過com或tcp與您的python腳本交談。

2

這裏有點駭人(不健壯)的解決方案。 Starti 3ds Max在命令行上使用MAXScript腳本。例如

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) 
+0

也許不會刪除 - 只需「觸摸」它來更新時間戳。 – Rekin 2010-10-20 18:51:21

+0

不錯的選擇。 – cdiggins 2010-10-20 18:59:37

相關問題