AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Outlook starten aber nicht den Eingabedialog für emails
Thema durchsuchen
Ansicht
Themen-Optionen

Outlook starten aber nicht den Eingabedialog für emails

Ein Thema von Schodn · begonnen am 23. Sep 2005 · letzter Beitrag vom 28. Sep 2005
Antwort Antwort
Schodn

Registriert seit: 15. Nov 2004
Ort: Admont
140 Beiträge
 
#1

Outlook starten aber nicht den Eingabedialog für emails

  Alt 23. Sep 2005, 10:44
Outlook starten aber nicht den Eingabedialog für emails sondern nur das outlook

seh den wald vor lauter bäumen nicht mehr
  Mit Zitat antworten Zitat
Schodn

Registriert seit: 15. Nov 2004
Ort: Admont
140 Beiträge
 
#2

Re: Outlook starten aber nicht den Eingabedialog für emails

  Alt 26. Sep 2005, 07:31
push
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Outlook starten aber nicht den Eingabedialog für emails

  Alt 26. Sep 2005, 08:57
Hi Schodn,

dein Standard-E-Mail-Programm kannst du vom Prinzip her so starten:

Delphi-Quellcode:
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;
Grüße vom marabu
  Mit Zitat antworten Zitat
Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Outlook starten aber nicht den Eingabedialog für emails

  Alt 26. Sep 2005, 08:59
Hi,

ok hab mich verlesen sorry
  Mit Zitat antworten Zitat
Schodn

Registriert seit: 15. Nov 2004
Ort: Admont
140 Beiträge
 
#5

Re: Outlook starten aber nicht den Eingabedialog für emails

  Alt 26. Sep 2005, 09:15
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.
  Mit Zitat antworten Zitat
Schodn

Registriert seit: 15. Nov 2004
Ort: Admont
140 Beiträge
 
#6

Re: Outlook starten aber nicht den Eingabedialog für emails

  Alt 26. Sep 2005, 10:31
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;
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Outlook starten aber nicht den Eingabedialog für emails

  Alt 28. Sep 2005, 09:50
Hi Schodn,

Zitat von Schodn:
Abfragen obs outlook offen ist. wenn nicht -> öffnen
wenn du mehrere Instanzen des Standard Mail Programms vermeiden willst, dann darfst du nicht einfach nach Outlook Ausschau halten (pun intended). Meine Routine ermittelt ja den Pfad der zugehörigen Echse. Professionell wäre jetzt eine Prüfung, ob genau dieses Reptil sich schon im Hauptspeicher bewegt - hint: CreateToolHelp32Snapshot.

Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz