原本想利用 Automation 來判斷電腦是否有安裝 AutoCAD ,但是發現 Automation 好像沒有辦法判斷,下面兩種寫法都失敗,Automation 失敗後只好換個方向,利用 FindExecutable API 來判斷。
- Automation 判斷 AutoCAD - 無論有沒有安裝 AutoCAD,都沒有辦法產生 Object
loObject = CREATEOBJECT("AutoCAD.Application")
loObject = CREATEOBJECT("AutoCAD.AcadApplication")
-- 宣告 FindExecutable API
DECLARE INTEGER FindExecutable IN shell32 STRING lpFile, STRING lpDir, STRING @lpResult
lcResult = SPACE(250) -- 接收 FindExecutable API 的回傳值,回傳值為執行檔完整路徑
lcTestFile = ADDBS(GETENV("TEMP")) + "Dummy.DWG" -- 建立測試檔案
STRTOFILE("",(lcTestFile)) -- 在 Windows Temp 資料夾內,建立一個沒有內容的 AutoCAD DWG 檔案
IF FindExecutable ((lcTestFile), "", @lcResult) > 32 -- 大於 32 代表執行成功,有 AutoCAD 軟體
MESSAGEBOX(lcResult) -- 顯示 AutoCAD 執行檔路徑
ELSE
MESSAGEBOX("沒有安裝 AutoCAD")
ENDIF
更改測試檔案副檔名(Excel XLS 或 XLSX、Word DOC 或 DOCX),就可以判斷軟體是否安裝在電腦上。
2 則留言:
請問判斷後要如何使用autocad開啟圖檔?
Andre Biehn 您好 ~~
利用上述語法找出 AutoCAD 執行檔,搭配 shellexecute 就可以開啟 AutoCAD
這篇是關於 shellexecute 使用的說明,請參考看看
http://www.news2news.com/vfp/?function=138
張貼留言