例:
在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);用於呼叫系統的'開啟方式...'對話方塊來開啟該檔案
Wndows外殼程式設計-呼叫"開啟方式..."對話方塊來開啟文件
相關文章
- Electron 開啟儲存檔案對話方塊
- c++開啟挑選圖片對話方塊C++
- VUE:點選開啟的對話方塊外面時,對話方塊總是被關閉Vue
- pyqt-PyQt5開啟檔案對話方塊QFileDialogQT
- 4.使用CFileDialog開啟檔案對話方塊,獲得檔案路徑 -windows程式設計Windows程式設計
- 16.讓對話方塊支援拖拽操作/目錄框開啟操作
- Lazarus在Loongarch的loongxin mate系統不能開啟對話方塊問題
- ArcObjects SDK開發 一些可直接呼叫的對話方塊Object
- pageoffice6 版本線上開啟檔案彈出網頁對話方塊網頁
- c#—OpenFileDialog(開啟檔案對話方塊)和new關鍵字的用法C#
- 快捷鍵Win+R,開啟執行對話方塊,如何清理執行痕跡
- [開發教程]第31講:Bootstrap對話方塊boot
- Dialog對話方塊
- 這才是開啟風變程式設計的正確操作方式程式設計
- 開啟我的程式設計之路程式設計
- 規定對話方塊
- 登入對話方塊
- C++ Qt開發:標準Dialog對話方塊元件C++QT元件
- C++ Qt開發:自定義Dialog對話方塊元件C++QT元件
- win10預設開啟方式設定方法_windows10預設開啟方式怎麼設定Win10Windows
- win10啟動應用彈出對話方塊怎麼辦 win10每次開啟應用都要彈窗解決方法Win10
- flutter demo (四):對話方塊Flutter
- Flutter Widgets 對話方塊-DialogFlutter
- DialogPane對話方塊佈局
- mac蘋果電腦應用程式預設開啟方式Mac蘋果
- win10更改預設開啟程式設定方法 win10怎麼更改應用預設開啟方式Win10
- win10如何設定預設開啟方式 win10怎麼設定檔案預設開啟方式Win10
- 雲開發 VSCode 外掛 Cloudbase Toolkit 的正確開啟方式VSCodeCloud
- 開啟cmd的方式
- win10怎麼設定java的開啟方式_win10如何設定java的開啟方式Win10Java
- 模態對話方塊可能導致程式崩潰
- KubeVela 1.0 :開啟可程式設計式應用平臺的未來程式設計
- React中的模式對話方塊React模式
- Qt 對話方塊新增工具欄QT
- 0x7_對話方塊
- java Swing詢問對話方塊Java
- 在 Flutter 使用 GetX 對話方塊Flutter
- 訊息對話方塊 confirm() prompt()