Delphi-Forum.de Delphi-Library.de
C-Sharp-Forum.de C-Sharp-Library.de
Registrieren Login Suche Hilfe Sitemap
...Standardbrowser und Standardmailprogramm herausfinden?
spacer
Autor Nachricht
Radioactive
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star

Beiträge: 179
Dabei seit: 27.10.2004


Win 98, Win XP Home SP2
D3 Prof, D7 Pers, D2005 Pers
BeitragVerfasst: So 19.06.05 11:21  Antworten mit Zitat Beitrag melden
Standardbrowser und Standardmailprogramm herausfinden

Manchmal ist es ganz nützlich, zu wissen, was der Standardbrowser oder das Standardmailprogramm ist. Hier zwei Funktionen dafür, bitte nicht vergessen, die Unit "Registry" einzubinden.

Der Standardbrowser ist bei mir jetzt derjenige, der für die HTTP-Adressen zuständig ist, z.B. der Firefox überprüft bei seinem Bin-ich-noch-Standard-Browser-Check, ob das HTTP und das HTTPS-Protokoll mit ihm assoziiert sind. Meta: Defaultbrowser default Defaultmailapplication E-Mail

ausblenden volle Höhe Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
  GetDefaultMailApplication
  
  Es wird das Mailprogramm als Standard angenommen, das 
  für das MAILTO-Protokoll verwendet wird.
  
  Falls kein Standardmailprogramm definiert ist oder ein 
  Zugriff auf einen Schlüssel nicht möglich ist, wird ein 
  leerer String zurückgegeben.
  
  Nicht vergessen, die Unit "Registry" einzubinden!  
}
function GetDefaultMailApplication: string;
var
  reg: TRegistry;
  regstr, openstr: string;
begin
  Result := '';
  reg := TRegistry.Create(KEY_READ);
  try
    reg.RootKey := HKEY_LOCAL_MACHINE;
    if reg.OpenKey('Software\Clients\Mail',false) then
    begin
      regstr := reg.ReadString('');
      reg.CloseKey;
      if Length(regstr) > 0 then
        if reg.OpenKey('Software\Clients\Mail' + regstr + 'shellopencommand',false) then
        begin
          openstr := reg.ReadString('');
          reg.CloseKey;
          if Length(openstr) > 0 then Result := openstr;
        end;
    end;
  finally
    reg.CloseKey;
    reg.Free;
  end;
end;


  GetDefaultBrowser
  
  Es wird der Browser als Standard angenommen, der für das
  HTTP-Protokoll verwendet wird.
  
  Falls kein Standardbrowser definiert ist oder ein Zugriff
  auf einen Schlüssel nicht möglich ist, wird ein leerer
  String zurückgegeben.
  
  Nicht vergessen, die Unit "Registry" einzubinden!  
}
function GetDefaultBrowser: string;
var
  reg: TRegistry;
  regstr: string;
begin
  Result := '';
  reg := TRegistry.Create(KEY_READ);
  try
    reg.RootKey := HKEY_CLASSES_ROOT;
    if reg.OpenKey('HTTP\shell\open\command',false) then
    begin
      regstr := reg.ReadString('');
      reg.CloseKey;
      if Length(regstr) > 0 then
      begin
        // überflüssige Parameter wegschneiden...
        while (AnsiLowerCase(Copy(regstr, Length(regstr)-34)) <> '.exe')
         and (Length(regstr) > 0do
          regstr := Copy(regstr, 1, Length(regstr)-1);
        // und Ergebnis zurückgeben
        Result := regstr;
      end;
    end;
  finally
    reg.CloseKey;
    reg.Free;
  end;
end;

Moderiert von jasocul: Beitrag geprüft am 04.07.2006

_________________
Radioactive
"Wer scrollt, verliert!" Matthias Stein, Informatiklehrer am GG
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Beiträge vom vorherigen Thema anzeigen:   
home home