![]() |
E-Mailprogramm als Standart Mailer in Windows eintragen
Hallo Leute ich hab ein E-Mail Programm geschreiben und möchte nun wissen wie ich das in der Windows registrierung eintragen kann, damit das Programm auf alle links reagiert wenn ich auf einer Webseite auf eine Mailadresse klicke.
Danke |
Re: E-Mailprogramm als Standart Mailer in Windows eintragen
Hallo,
die Registrierung aller möglichen Clients wird hier beschrieben: ![]() Deinen Default Mail Handler kannst du z.B. über die Internetoptionen in der Systemsteuerung festlegen. Opera nutzt diese Festlegung nicht und auch andere INET-Clients sind nicht verpflichtet sich an diese MS-Regel zu halten. Grüße vom marabu |
Re: E-Mailprogramm als Standart Mailer in Windows eintragen
Kann ich das auch direkt in die Registrierug schreiben ?? ich will das der User das nicht selber machen soll. Mein programm soll nach dem Fragen das automatisch machen
|
Re: E-Mailprogramm als Standart Mailer in Windows eintragen
Oder kann ich das nur auber über eine mapimail lösen ???
ich kann des Programm nicht in den Interneteigenschaften unter Programm eintragen. Hab da nur die Mailprogramme zur auswahl die ich mal installiert habe. |
Re: E-Mailprogramm als Standart Mailer in Windows eintragen
Hi,
der Link von marabu zur MSDN zeigt Dir alles, was Du brauchst. |
Re: E-Mailprogramm als Standart Mailer in Windows eintragen
Es heisst Standard.
|
Re: E-Mailprogramm als Standart Mailer in Windows eintragen
Also klappt alles soweit nur das die Seite auf eine Simple Mapi.dll hinweist woher kriege ich die bzw. Wie mache ich die
|
Re: E-Mailprogramm als Standart Mailer in Windows eintragen
Kann mit jemand helfen wäre super wichtig
Danke |
Re: E-Mailprogramm als Standart Mailer in Windows eintragen
Ich hab mir eine Mapi gebastelt aus dem link
![]() und hab das eingefügt um aus einer Webseite angeklickten E-Mailadresse automatisch in mein Mailprogramm zu kommen. das einzige was ich jetzt aber nicht rausbekomme ist die Mailadresse die angeklickt wurde. Hat jemand eine Idee ??
Delphi-Quellcode:
function MailtoUrl(lhSession: LHANDLE; ulUIParam: Cardinal;
var lpMessage: TMapiMessage; flFlags: FLAGS; ulReserved: Cardinal): Cardinal; stdcall; var filename : String; begin filename := RegRead(HKEY_LOCAL_MACHINE,'SOFTWARE\Clients\Mail\confee-CRM\Protocols\mailto\shell\open\command',''); showmessage(filename); Result := 1; end; |
Re: E-Mailprogramm als Standart Mailer in Windows eintragen
Du suchst ein Beispiel?
Hier ist eins. Du brauchst dazu keine mapi.
Delphi-Quellcode:
Wobei AppName deine Exe ist und ClientName eine Name als Identifier.
procedure SetDefaultMailTo(AppName,Clientname : string);
var Reg : TRegistry; DW : DWord; aClient : string; begin aClient := ExtractShortPathName(Appname); Reg := TRegistry.Create; try Reg.RootKey := HKEY_CLASSES_ROOT; if Reg.OpenKey('\mailto\shell\open\command',True) then Reg.WriteString('',aClient+' %1'); Reg.CloseKey; if Reg.OpenKey('\mailto\DefaultIcon',True) then Reg.WriteString('',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(SectionStr,True) then Reg.WriteString('','URL:MailTo Protocol'); if Reg.OpenKey(SectionStr,True) then Reg.WriteBinaryData('EditFlags',dw,SizeOf(DWord)); if Reg.OpenKey(SectionStr,True) then Reg.WriteString('URL Protocol',''); Reg.CloseKey; if Reg.OpenKey(SectionStr+'\DefaultIcon',True) then Reg.WriteString('',aClient+',0'); if Reg.OpenKey(SectionStr+'\shell\open\command',True) then Reg.WriteString('',aClient+' %1'); if Reg.OpenKey('\Software\Clients\Mail\'+ClientName+'\Shell\open\command',True) then Reg.WriteString('',aClient+' %1'); finally Reg.Free; end; end; Du hast dich ja anscheinend mit der Programmierung einer eigenen Mapi-Schnittstelle beschäftigt. Bist du da schon weiter gekommen? |
Re: E-Mailprogramm als Standart Mailer in Windows eintragen
Hallo,
ich hätte zu dem Beispiel Fragen: 1. Wofür steht "SectionStr"?
Delphi-Quellcode:
Ich habe mal den Code angepasst und mich an den Registry-Einträge von OutlookExpress orientiert.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; 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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz