Hallo,
ich hätte zu dem Beispiel Fragen:
1. Wofür steht "SectionStr"?
Delphi-Quellcode:
procedure SetDefaultMailTo(AppName,Clientname :
string);
var
Reg : TRegistry;
DW : DWord;
aClient :
string;
begin
aClient := Appname;
//ExtractShortPathName(Appname);
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CLASSES_ROOT;
if Reg.OpenKey('
\mailto\shell\open\command',True)
then Reg.WriteExpandString('
',aClient+'
%1');
Reg.CloseKey;
if Reg.OpenKey('
\mailto\DefaultIcon',True)
then Reg.WriteExpandString('
',aClient+'
,0');
Reg.CloseKey;
finally
Reg.Free;
end;
DW := 2;
//aClient := ExtractShortPathName(aClient);
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('
\Software\Clients\Mail',True)
then Reg.WriteString('
',ClientName);
Reg.CloseKey;
if Reg.OpenKey('
\Software\Clients\Mail\'+ClientName,True)
then Reg.WriteString('
',ClientName);
Reg.CloseKey;
if Reg.OpenKey('
\Software\Clients\Mail\'+ClientName+'
\protocols\mailto\',True)
then Reg.WriteString('
','
URL:MailTo Protocol');
if Reg.OpenKey('
\Software\Clients\Mail\'+ClientName+'
\protocols\mailto\',True)
then Reg.WriteBinaryData('
EditFlags',dw,SizeOf(DWord));
if Reg.OpenKey('
\Software\Clients\Mail\'+ClientName+'
\protocols\mailto\',True)
then Reg.WriteString('
URL Protocol','
');
if Reg.OpenKey('
\Software\Clients\Mail\'+ClientName+'
\protocols\mailto\DefaultIcon',True)
then Reg.WriteExpandString('
',aClient+'
,0');
if Reg.OpenKey('
\Software\Clients\Mail\'+ClientName+'
\protocols\mailto\shell\open\command',True)
then Reg.WriteExpandString('
',aClient+'
%1');
Reg.CloseKey;
if Reg.OpenKey('
\Software\Clients\Mail\'+ClientName+'
\shell\open\command',True)
then Reg.WriteExpandString('
',aClient+'
%1');
Reg.CloseKey;
finally
Reg.Free;
end;
end;
Ich habe mal den Code angepasst und mich an den Registry-Einträge von OutlookExpress orientiert.
Wenn ich aus dem Browser raus einen Link mit maito.. anklicke, startet meine exe bzw. bekommt den Focus.
Allerdings passiert nichts, wenn ich im Windows Explorer auf ein File gehe und "Senden an../ Email-Empfänger" wähle.
2. Wenn ich mein Programm auf diese Art & Weise registriere, wie bekomme ich es dann mit, wenn der User aus anderen Programmen eMails verschicken will und wie verarbeite ich die Parameter wie z.B. mailto:... oder wenn Dateien verschickt werden sollen.
Danke.
Gruss Martin