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")
復制代碼 高亮切換


以上這個命令會跳出“打開方式”對話框,因為系統不認識沒有擴展名的文件,除非你提前設定系統用什么程序來打開這類沒有擴展名的文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM