天天看點

autoIT-RUN和ShellExecute打開檔案的差別

今天看到蛋蛋的某個文章的回複,一時感覺有興趣就好好看了下幫助,覺得對兩個指令有了更好的了解,在此分享一下,高手直接無視掉。

平常寫代碼的時候用run和ShellExecute感覺效果一樣,沒什麼差別,這是因為運作的檔案是可執行檔案。

因為幫助中界定的很清楚:

  1. ​​Run​​ ;運作外部程式.
  2. ​​Run​​ ( "程式" [, "工作目錄" [, 顯示标志[, 可選标志]]] )
  3. ;參數:程式 程式所在的完整路徑(檔案格式為 EXE,BAT,COM 或 PIF).

run的對象隻可以是exe,bat,com,或pif。這個應該不是很全,因為cmd檔案應該也可以的。

是以如果不是可執行檔案的話,用run就無效了。

再看ShellExecute:使用 ShellExecute API 執行一個外部程式.

也就是說利用系統本身來運作檔案,是以隻要系統能認識的檔案,就能打開,就和輕按兩下操作是一樣的,不管什麼檔案,隻要系統中輕按兩下能打開,那麼ShellExecute就能打開。

假如系統不認識某個檔案的話,那麼用ShellExecute指令也會不認識,照樣會跳出“打開方式”的對話框。

你可以用以下幾個指令對比一下:

  1. ​​FileOpen​​("c:\1.txt",1)
  2. ​​run​​("c:\1.txt")

以上這個指令因為txt檔案不是可執行檔案,是以沒有效果,打不開。

  1. ​​FileOpen​​("c:\1.txt",1)
  2. ​​shellExecute​​("c:\1.txt")

以上這個指令,因為系統一般都有記事本程式來打開txt檔案,是以這個會有效果。能打開1.txt

  1. ​​FileOpen​​("c:\1.txt",1)
  2. ​​FileMove​​("c:\1.txt","c:\1",1)
  3. ​​ShellExecute​​("c:\1")

繼續閱讀