iT邦幫忙

0

右鍵卡卡轉圈圈…Delphi執行外部程式 ShellExec API習作

  • 分享至 

  • xImage
  •  

右鍵卡卡轉圈圈…Delphi執行外部程式 ShellExec API習作

前言動機:
電腦內軟體愈灌愈多,有些會在右鍵添個捷徑。於是,每次點右鍵 ”快捷鍵” 總是在繞圈圈,等到天長地久、地老天荒,尤其是剛開機之後、”電腦總管”更嚴重。或許是我電腦中毒? 還是機器太舊?
於是,想寫個”檔案總管”試試。
先看看如何在FileListBox中點選檔案時,執行外部程式吧。
環境:Win 10 64x Delphi RAD10.4

下載 Source+執行檔

https://ithelp.ithome.com.tw/upload/images/20210821/20111373YjOzYa3h9o.jpg
部份程式碼:
引用 uses ShellAPI;

procedure TForm1.doExec(fPath:string);
begin
  //--- 執行外部程式 ( 依系統已設定之連結開啟 )
  ShellExecute(Handle, 'open', PChar(fPath),nil, nil, SW_SHOW);
end;

procedure TForm1.btnCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TForm1.btnExecClick(Sender: TObject);
var
  fTmp,fullPath, fDir,YesNo : string;
  flag : Boolean;
begin
  fDir := DirectoryListBox1.Directory;
  fTmp := FileListBox1.Items[FileListBox1.ItemIndex];
  fullPath := fDir+'\'+fTmp;
  memFD.Lines.Add(fullPath);
  //--- 檔案當然都存在 just for debug
  flag := FileExists(fullPath);
  if flag then YesNo := 'File Exist'
     else YesNo := 'File Not Exist';
  memFD.Lines.Add(YesNo);
  //--- shellExec ---
  doExec(fullPath);
end;

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言