shellexecute调用默认程序 |
答題得分者是:st33chen
|
zhouying82
高階會員 發表:150 回覆:272 積分:189 註冊:2004-03-16 發送簡訊給我 |
在delphi中如何做到,点击一个文件名后,调用该文件的默认方式打开,如果运行
缺省打开方式的程式无,则调用“打开方式”板选择程序打开。 我的源代码如下 [code delphi] procedure TForm1.Button1Click(Sender: TObject); begin try ShellExecute(Handle,'open',PChar(edit1.Text),nil,nil, SW_SHOWNORMAL); except MessageBox(0,'文件打开出错,请检查文件是否已关联有效程序!','警告',MB_OK or MB_ICONWARNING); end; end; procedure TForm1.SpeedButton1Click(Sender: TObject); begin if OpenDialog1.Execute then edit1.Text :=OpenDialog1.FileName; end; end. [/code]
------
断断续续的学了几年,还是一个初学者,永远支持Delphi ! |
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
您好, 試一下 var ShellExInfo: TShellExecuteInfo; ... begin FillChar(ShellExInfo, SizeOf(ShellExInfo), 0); with ShellExInfo do begin cbSize := SizeOf(ShellExInfo); fMask := see_Mask_NoCloseProcess; Wnd := Application.Handle; lpFile := PChar(您的路徑名檔名字串); // lpParameters := PChar(Params); nShow := sw_ShowNormal; end; Result := ShellExecuteEx(@ShellExInfo); if Result then begin while WaitForSingleObject(ShellExInfo.HProcess, 1000) = WAIT_TIMEOUT do begin Application.ProcessMessages; if Application.Terminated then Break; end; end; end;
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |