Wndows外殼編程-調用”開啟檔案…”對話方塊來開啟文檔

來源:互聯網
上載者:User
例: 
在use中加入ShellAPI單元 
 
var 
   FilePath:string; 
   ShellReturn:integer; 
begin 
   FilePath:=檔案路徑+檔案名稱 
   if  FilePath<>''  then 
       begin 
           ShellReturn:=ShellExecute(Handle,PChar('Open'),PChar(filepath),nil,nil,1); 
           if  ShellReturn<=32  then 
               case  ShellReturn  of 
                   0                                          :  messagebox(handle,'系統資源不足,檔案開啟失敗!','失敗',MB_OK+MB_ICONSTOP); 
                   SE_ERR_ASSOCINCOMPLETE:  messagebox(handle,'指定的檔案名稱不符合windows規範','失敗',MB_OK+MB_ICONERROR); 
                   SE_ERR_FNF                        :  messagebox(handle,'指定的檔案沒有找到','失敗',MB_OK+MB_ICONERROR); 
                   SE_ERR_OOM                        :  messagebox(handle,'沒有足夠的記憶體完成操作,檔案開啟失敗!','失敗',MB_OK+MB_ICONSTOP); 
                   SE_ERR_PNF                        :  messagebox(handle,'指定的目錄沒有發現','失敗',MB_OK+MB_ICONERROR); 
                   {當傳回值表示該類型檔案未在系統中註冊時,調用系統'開啟檔案...'對話方塊} 
                   SE_ERR_NOASSOC                :  winexec(PChar('rundll32  shell32,OpenAs_RunDLL  '+FilePath),SW_SHOWDEFAULT); 
                   else 
                       messagebox(handle,'檔案開啟失敗','失敗',MB_OK+MB_ICONERROR); 
               end; 
       end; 
end; 
 
在這裡: 
ShellExecute(Handle,PChar('Open'),PChar(filepath),nil,nil,1);用於直接開啟登入過的檔案(也可以是網頁,程式等) 
 
winexec(PChar('rundll32  shell32,OpenAs_RunDLL  '+FilePath),SW_SHOWDEFAULT);用於調用系統的'開啟檔案...'對話方塊來開啟該檔案
相關關鍵詞:
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.