星期五, 12月 02, 2011

[VFP] 判斷電腦是否安裝 AutoCAD

原本想利用 Automation 來判斷電腦是否有安裝 AutoCAD ,但是發現 Automation 好像沒有辦法判斷,下面兩種寫法都失敗,Automation 失敗後只好換個方向,利用 FindExecutable API 來判斷。

  • Automation 判斷 AutoCAD - 無論有沒有安裝 AutoCAD,都沒有辦法產生 Object
loObject = CREATEOBJECT("AutoCAD.Applicat­ion")
loObject = CREATEOBJECT("AutoCAD.AcadApplication")
  • FindExecutable API
-- 宣告 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 則留言:

  1. 請問判斷後要如何使用autocad開啟圖檔?

    回覆刪除
  2. Andre Biehn 您好 ~~
    利用上述語法找出 AutoCAD 執行檔,搭配 shellexecute 就可以開啟 AutoCAD

    這篇是關於 shellexecute 使用的說明,請參考看看
    http://www.news2news.com/vfp/?function=138

    回覆刪除