WindwsXP SP3 + Delphi6Proです。
Delphiで製作したアプリケーション側から、標準に設定されているメーラを知るにはどうしたらいいのでしょうか?
よろしくお願い致します。
既定のメーラーのファイルパスを取得するには
https://www.petitmonte.com/bbs/answers?question_id=4624
は、どうですか?
ご指摘のリンクをたどり、レジストリのHKEY_LOCAL_MACHINE−Software−Clients−Mail−Shell−Open−Commandの値が起動すべきメールソフトのフルパスであることが解りました。ありがとうございました。
これさえ解ればあとはShellExecでいけます。
解決しました。
function TForm1.GetMailer: string;
{===============================================================================
規定のメールソフトの起動パスを得る
===============================================================================}
var
Reg: TRegistry;
keycode : string;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\SOFTWARE\Clients\Mail',False) then begin
keycode := Reg.ReadString(''); //規定されているメールソフトの名前
if Reg.Openkey('\SOFTWARE\Clients\Mail\' + keycode + '\shell\open\command',false) then begin
keycode := Reg.ReadString(''); //コマンドラインを取得
Result := Copy(keycode,2,Length(keycode) - 2); //ダブルクォート削除
end;
end;
Reg.Free;
end;
ツイート | ![]() |