AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi InternetSeite aufrufen (ShellExecute)
Thema durchsuchen
Ansicht
Themen-Optionen

InternetSeite aufrufen (ShellExecute)

Ein Thema von Pseudemys Nelsoni · begonnen am 18. Mär 2004 · letzter Beitrag vom 18. Mär 2004
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

InternetSeite aufrufen (ShellExecute)

  Alt 18. Mär 2004, 14:11
hallo,

ich benutze den explorer "mozilla firefox", und möchte, das wenn man in meinem pro eine schrift anklickt sich eine neue seite im explorer öffnet.
ich lese den command schlüssel aus der registry "http\shell\open\command", dort steht der pfad aber so:

Zitat:
C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -url "%1"
mit den ~ dingern im pfad funktioniert das aufrufen aber irgendwie nicht, wie kriege ich denn den "richtigen" pfad?
Mario
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#2

Re: InternetSeite aufrufen (ShellExecute)

  Alt 18. Mär 2004, 14:22
geht doch, komischerweise musste ich das -url etc abschneiden...
Mario
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: InternetSeite aufrufen (ShellExecute)

  Alt 18. Mär 2004, 14:25
Nein nicht komischerweise, sondern korrekterweise. -url ist ein Schalter für das programm und "%1" steht für einen beliebigen Parameter, hier wohl der Pfad der zu öffnenden URL.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: InternetSeite aufrufen (ShellExecute)

  Alt 18. Mär 2004, 14:27
Schade, sonst hätte ich Dir

Delphi-Quellcode:
    FUNCTION ExtractLongFileName(CONST FileName: STRING): STRING;
    VAR
      Info : TSHFileInfo;
    BEGIN
      IF SHGetFileInfo(PChar(FileName), 0, Info, Sizeof(Info), SHGFI_DISPLAYNAME) <> 0 THEN
        Result := STRING(Info.szDisplayName)
      ELSE
        Result := FileName;
    END;
empfohlen

BTW: wenn Du die Parameter mit verwenden möchtest, (sind wohl nur für Shelleoperationen nötig) dann
gibt es in der Shellexecute-Funktion einen eigenen Parameter dafür:

Code:
    LPCTSTR lpParameters,   // pointer to string that specifies executable-file parameters
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#5

Re: InternetSeite aufrufen (ShellExecute)

  Alt 18. Mär 2004, 14:37
hallo,

"korrekterweise", hm, jo, ich frag mich nur wie das mit den "~" im pfad geht.

@app: sorry den code versteh ich nicht ganz *g*.

@thema: jetzt hab ich mozilla deinstalliert um zu testen obs mit dem IE geht - natürlich gehts nicht....nur wieso? ich habe es insgesamt so:

Delphi-Quellcode:
function GetExplorerPath: string;
var
  reg: TRegistry;
begin
  reg := TRegistry.Create;
  with reg do
  begin
    RootKey := HKEY_CLASSES_ROOT;
    if OpenKey('http\shell\open\command', false) then
      result := Copy(ReadString(''), 1, Pos('exe', lowercase(ReadString('')))+2); //hier schneide ich alles hinter exe aus, was wohl ziemlich unsicher sein dürfte wenn 2mal "exe" vorkommt...
    Free;
  end;
end;

...

procedure TForm3.Label6Click(Sender: TObject);
begin
  ShellExecute(0, 'open', PChar(GetExplorerPath), PChar(Label6.Caption), nil, SW_SHOWNORMAL);
end;

jemand ne idee wieso das beim IE nicht geht?
Mario
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#6

Re: InternetSeite aufrufen (ShellExecute)

  Alt 18. Mär 2004, 14:46
k habs...Komischerweise...benutzt der IE Gänsefüschen im pfad...hergott
Mario
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: InternetSeite aufrufen (ShellExecute)

  Alt 18. Mär 2004, 17:40
Was auch wieder korrekt ist, da du sonst Probleme mit Leerzeichen im Pfad bekommst.

Aber nimm einfach Shellexecute, dann wird die Seite immer im standard Browser angezeigt, den sich der Benutzer eingerichtet hat.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 04:41 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