![]() |
InternetSeite aufrufen (ShellExecute)
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:
|
Re: InternetSeite aufrufen (ShellExecute)
geht doch, komischerweise musste ich das -url etc abschneiden...
|
Re: InternetSeite aufrufen (ShellExecute)
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.
|
Re: InternetSeite aufrufen (ShellExecute)
Schade, sonst hätte ich Dir
Delphi-Quellcode:
empfohlen :wink:
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; 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
|
Re: InternetSeite aufrufen (ShellExecute)
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? |
Re: InternetSeite aufrufen (ShellExecute)
k habs...Komischerweise...benutzt der IE Gänsefüschen im pfad...hergott
|
Re: InternetSeite aufrufen (ShellExecute)
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 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