![]() |
Outlook starten aber nicht den Eingabedialog für emails
Outlook starten aber nicht den Eingabedialog für emails sondern nur das outlook
seh den wald vor lauter bäumen nicht mehr |
Re: Outlook starten aber nicht den Eingabedialog für emails
push
|
Re: Outlook starten aber nicht den Eingabedialog für emails
Hi Schodn,
dein Standard-E-Mail-Programm kannst du vom Prinzip her so starten:
Delphi-Quellcode:
Grüße vom marabu
uses
Windows, SysUtils, ShellApi, Registry; procedure StartEmail; var reg: TRegistry; value, cmd: string; pac: PAnsiChar; begin reg := TRegistry.Create; reg.RootKey := HKEY_CLASSES_ROOT; if reg.OpenKeyReadOnly('\mailto\shell\open\command') then begin value := reg.ReadString(''); reg.CloseKey; end else value := ''; reg.Free; if value = '' then raise Exception.Create('no standard e-mail handler'); pac := PAnsiChar(value); if value[1] = '"' then cmd := AnsiExtractQuotedStr(pac, '"') else if Pos(' ', value) = 0 then cmd := value else cmd := Copy(value, 1, Pred(Pos(' ', value))); ShellExecute(0, 'open', PAnsiChar(cmd), nil, nil, SW_SHOW); end; |
Re: Outlook starten aber nicht den Eingabedialog für emails
Hi,
ok hab mich verlesen sorry :-( |
Re: Outlook starten aber nicht den Eingabedialog für emails
DAnke das hilft mir sehr weiter
Mit findwindow kann ich dann abfragen ob es schon mal offen ist oder? Er soll es nur aufmachen wenn es noch nicht offen ist. |
Re: Outlook starten aber nicht den Eingabedialog für emails
Abfragen obs outlook offen ist. wenn nicht -> öffnen
Delphi-Quellcode:
procedure Tfrm_main.RzBmpButton23Click(Sender: TObject);
var reg: TRegistry; value, cmd: string; pac: PAnsiChar; Window : hWnd; begin Window := FindWindow(nil, 'Microsoft Outlook'); if Window = 0 then begin reg := TRegistry.Create; reg.RootKey := HKEY_CLASSES_ROOT; if reg.OpenKeyReadOnly('\mailto\shell\open\command') then begin value := reg.ReadString(''); reg.CloseKey; end else value := ''; reg.Free; {if value = '' then raise Exception.Create('no standard e-mail handler');} pac := PAnsiChar(value); if value[1] = '"' then cmd := AnsiExtractQuotedStr(pac, '"') else if Pos(' ', value) = 0 then cmd := value else cmd := Copy(value, 1, Pred(Pos(' ', value))); ShellExecute(0, 'open', PAnsiChar(cmd), nil, nil, SW_SHOW); end; end; |
Re: Outlook starten aber nicht den Eingabedialog für emails
Hi Schodn,
Zitat:
Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 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-2025 by Thomas Breitkreuz