Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm/Datei/Homepage starten/öffnen (https://www.delphipraxis.net/53101-programm-datei-homepage-starten-oeffnen.html)

xstream 10. Sep 2005 09:06


Programm/Datei/Homepage starten/öffnen
 
Hallo

Ich hab ein Programm, in welchem der Benützer irgendwelche Dateie, Programme und Homepages eintragen kann. Diese werden in einer ListBox gespeihert. Wenn er dann auf einen Button klickt, werden diese Dateien und Homepages geöffnet und die Programme ausgeführt.

Nun wollte ich fragen, wie ich diese Dateien, Programme und Homepages starten muss, bzw welcher befehl ich dafür verwenden soll? Hab das ganze bereits mit ShellExecute() probiert, aber wenn der Benützer mehrere Homepages einträgt, wird immer nur die letzte geladen...

Mfg

xstream

arbu man 10. Sep 2005 09:35

Re: Programm/Datei/Homepage starten/öffnen
 
Start über Shellexecute den IE und übergebe die Webseite als Parameter

xstream 10. Sep 2005 09:36

Re: Programm/Datei/Homepage starten/öffnen
 
hmm kannst du mir noch sagen, wie man den eintrag erkennen könnte, also was es ist: url, programm, datei... datei und programm werden ja gleich gestartet... aber url mit ie...

vielen dank schon mal

mfg

xstream

Sharky 10. Sep 2005 09:55

Re: Programm/Datei/Homepage starten/öffnen
 
Hai xstream,

was Du öffnest musst Du eigentlich nicht wissen. Windows kümmert sich schon darum das richtige Programm zu benutzen.
Delphi-Quellcode:
procedure TForm1.Btn_TestClick(Sender: TObject);
var
  url : PAnsiChar;
begin
  url := 'http://www.delphi-praxis.net';
  ShellExecute(0,'open',url,nil,nil,0);
end;

Die Muhkuh 10. Sep 2005 10:07

Re: Programm/Datei/Homepage starten/öffnen
 
Kurz noch:

Ich finde Sharkys Methode besser, als die von arbu man vorgeschlagene. Bei Sharkys Methode geht der Standard-Browser auf und nicht der IE.

SirThornberry 10. Sep 2005 10:08

Re: Programm/Datei/Homepage starten/öffnen
 
@Sharky: Sein Problem ist ja das eine HP in einem bereits geöffneten Fenster angezeigt wird und kein neues Fenster geöffnet wird. Dementsprechend muss er schon unterscheiden ob es sich um eine HP handelt oder nicht. (das kann man eigentlich an dem http:// erkennen)

xstream 10. Sep 2005 10:10

Re: Programm/Datei/Homepage starten/öffnen
 
genau, nur wie kann ich die adresse auftrennen, das ich das http:// hab?

ich hoffe ihr könnt mir das noch mitteilen,....

mfg

xstream

SirThornberry 10. Sep 2005 10:14

Re: Programm/Datei/Homepage starten/öffnen
 
Delphi-Quellcode:
procedure OpenHttpSite(AURL: String); //funktion zum webseite in neuem Fenster öffnen
var LRegistry: TRegistry;
    LBrowser: String;
    LStart, LEnd: Integer;
begin
  LRegistry := TRegistry.Create(KEY_READ);
  try
    LRegistry.RootKey := HKEY_CLASSES_ROOT;
    if LRegistry.OpenKey('http\shell\open\command', false) then
    begin
      LBrowser := LRegistry.ReadString('');
      if pos('"', LBrowser) > 0 then
      begin
        LStart := pos('"', LBrowser);
        LEnd := PosExt('"', LBrowser, LStart + 1);
        if LEnd > 0 then
           LBrowser := copy(LBrowser, LStart + 1, LEnd - (LStart + 1));
      end;
      LRegistry.CloseKey;
    end;
  finally
    LRegistry.Free;
  end;
  if ShellExecute(0, 'open', PChar(LBrowser), PChar(AUrl), nil, SW_SHOW) <= 32 then
     ShellExecute(0, 'open', PChar(AUrl), nil, nil, SW_SHOW)
end;

if pos('http://', AnsiLowercase(Programm)) = 1 then //wenn Programm mit "http://" anfängt
  openhttpsite(Programm)
else
  ShellExecute(0, 'open', PChar(Programm), nil, nil, SW_SHOW);

xstream 10. Sep 2005 10:28

Re: Programm/Datei/Homepage starten/öffnen
 
super

vielen dank! SirThornberry's Lösung hab ich nun genommen... sie funtzt einwandfrei:)

Vielen vielen dank

MfG

xstream


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:15 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