AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Dateitypen automatisch öffnen TWebbrowser
Thema durchsuchen
Ansicht
Themen-Optionen

Dateitypen automatisch öffnen TWebbrowser

Ein Thema von E307 · begonnen am 2. Jan 2007 · letzter Beitrag vom 20. Jan 2007
Antwort Antwort
E307

Registriert seit: 23. Feb 2006
134 Beiträge
 
Delphi 2005 Personal
 
#1

Dateitypen automatisch öffnen TWebbrowser

  Alt 2. Jan 2007, 21:33
Hallo!
Wie kann ich im TWebBrowser einstellen, dass bestimmte Dateien eines Typs (z.B. .mp3 oder .rtf) beim Klick auf den Link automatisch mit einem vorher festgelegten Programm geöffnet werden?
  Mit Zitat antworten Zitat
marabu

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

Re: Dateitypen automatisch öffnen TWebbrowser

  Alt 2. Jan 2007, 22:18
Hi,

dazu dienen die sogenannten Browser Helper Objects.

Gute Nacht
  Mit Zitat antworten Zitat
E307

Registriert seit: 23. Feb 2006
134 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Dateitypen automatisch öffnen TWebbrowser

  Alt 3. Jan 2007, 12:52
Ich meine nur in einem TWebBrowser in meinem Programm. Nicht gleich im ganzen InternetExplorer!
  Mit Zitat antworten Zitat
E307

Registriert seit: 23. Feb 2006
134 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Dateitypen automatisch öffnen TWebbrowser

  Alt 18. Jan 2007, 17:10
Hat keiner eine Idee? (Es geht darum, Anwendungen (EXE) oder andere Dokumente automatisch ohne Nachfrage zu öffnen. Das soll aber nur in diesem Einen Programm möglich sein)
  Mit Zitat antworten Zitat
E307

Registriert seit: 23. Feb 2006
134 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Dateitypen automatisch öffnen TWebbrowser

  Alt 19. Jan 2007, 19:56
Es gibt doch auch andere Programme, wie z.B. die Systeme von der PCWelt, oderso, die sowas mit dem IE machen können! Geht das nicht mit Delphi?
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#6

Re: Dateitypen automatisch öffnen TWebbrowser

  Alt 19. Jan 2007, 20:09
Schau dir mal TranslateURL von MSDN-Library durchsuchenIDocHostUIHandler) an.
Vielleicht lässt sich damit etwas machen.
Thomas
  Mit Zitat antworten Zitat
marabu

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

Re: Dateitypen automatisch öffnen TWebbrowser

  Alt 19. Jan 2007, 20:42
Hallo Thomas,

OnTranslateUrl() gestattet die Abänderung eines URL, bevor er beim Server abgefragt wird - wäre da nicht OnBeforeNavigate2() besser geeignet?

Ich könnte mir vorstellen, dass man im Event OnBeforeNavigate2() den URL zerlegt (InternetCrackUrl) und bei Feststellung einer speziellen Erweiterung die Navigation abbricht, das Dokument per Download (Indy oder WinInet) besorgt und dann per temporärer Datei und ShellExecute() (nicht jedes Helper-Programm wird ein Stream-Interface mitbringen) an das assoziierte Programm übergibt.

Freundliche Grüße
  Mit Zitat antworten Zitat
E307

Registriert seit: 23. Feb 2006
134 Beiträge
 
Delphi 2005 Personal
 
#8

Re: Dateitypen automatisch öffnen TWebbrowser

  Alt 20. Jan 2007, 11:45
Danke, jetzt geht's! Hier der Code:
Delphi-Quellcode:
uses ShellAPI;

//...

procedure TForm1.WebBrowser1BeforeNavigate2(ASender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
var h: String;
begin
H:=LowerCase(ExtractFileext(URL));
if (h ='.exe')
or (h='.mp3')
or (h='.rtf') then begin
Cancel:=true;
h:=URL;
Shellexecute(Application.Handle, 'open', PAnsiChar(h), nil, nil, SW_ShowNormal);
end;
end;
Vielleicht bekommt man die Umwandlung von OLEVariant in PAnsiChar besser hin, aber der Code hier funktioniert jedenfalls!

[edit]Code hinzugefügt[/edit]
  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 02:50 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