全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1396
推到 Plurk!
推到 Facebook!

請問要如何判斷電腦是否有裝開啟*.eml的軟體

答題得分者是:tobylin
17kobe
初階會員


發表:86
回覆:73
積分:31
註冊:2007-07-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-01-29 14:47:15 IP:60.250.xxx.xxx 訂閱
因為win7 無內建outlook express軟體所以無法開啟eml的檔案,我想要事先判斷的話,要如何來判斷呢
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-01-29 20:18:14 IP:220.141.xxx.xxx 訂閱
------
努力會更接近成功
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-01-30 18:16:17 IP:114.32.xxx.xxx 訂閱

可使用Win32 API 的函式 : FindExecutable
成功的話會回傳執行程式的路徑給你

===================引 用 17kobe 文 章===================
因為win7 無內建outlook express軟體所以無法開啟eml的檔案,我想要事先判斷的話,要如何來判斷呢
tobylin
一般會員


發表:1
回覆:15
積分:18
註冊:2009-12-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-02-05 09:25:08 IP:59.125.xxx.xxx 未訂閱
USES SHELLAPI;

{
FindExecutable returns the name and handle to the executable
(.EXE) file associated with a specified file type (.BMP)
}
function ShellFindExecutable(const FileName, DefaultDir: string): string;
var
Res: HINST;
Buffer: array[0..MAX_PATH] of Char;
P: PChar;
begin
FillChar(Buffer, SizeOf(Buffer), #0);
if DefaultDir = '' then P := nil
else
P := PChar(DefaultDir);
Res := FindExecutable(PChar(FileName), P, Buffer);
if Res > 32 then
begin
P := Buffer;
while PWord(P)^ <> 0 do
begin
if P^ = #0 then // FindExecutable replaces #32 with #0
P^ := #32;
Inc(P);
end;
Result := Buffer;
end
else
Result := '';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
execSt:STRING;
begin
execSt:=ShellFindExecutable('001.eml', 'C:\Download');
end;
===================引 用 pprayer 文 章===================

可使用Win32?API 的函式 :? FindExecutable
成功的話會回傳執行程式的路徑給你

===================引 用 17kobe 文 章===================
因為win7 無內建outlook express軟體所以無法開啟eml的檔案,我想要事先判斷的話,要如何來判斷呢
系統時間:2024-05-16 19:28:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!