![]() |
TWebBrowser Download abbrechen
Hallo,
ich hab in meinem aktuellen Projekt eine Instanz des TWebbrowsers laufen und möchte den Download einer bestimmten Datei abbrechen. Die if Bedingung wird auch erfüllt - so nebenbei, es handelt sich hier nur um eine optimierte pos() variante - aber der TWebbrowser öffnet trotz meiner Abbruchversuche den Downloaddialog der exe Datei und genau den möchte ich nicht haben. Ich könnte echt verzweifeln. =(
Delphi-Quellcode:
procedure TForm1.WebBrowserBeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin if SmartPos('.exe', URL, False, 1, True) > 0 then WebBrowser.Stop; end; |
Re: TWebBrowser Download abbrechen
Statt WebBrowser.Stop schreibe Abort;
Dies erzeugt eine stille Exception die weitere Aktionen verhindert. |
Re: TWebBrowser Download abbrechen
oh danke, aber das hilft leider auch nicht,
der download dialog kommt trotzdem. das ist alles sehr merkwürdig =(( |
Re: TWebBrowser Download abbrechen
Hallo,
wieso merkwürdig?
Delphi-Quellcode:
Gute Nacht
procedure TForm1.WebBrowserBeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin if SmartPos('.exe', URL, False, 1, True) > 0 then begin Cancel := True; with pDisp as IWebBrowser2 do Stop; Exit; end; // ... end; |
Re: TWebBrowser Download abbrechen
es klappt einfach nicht, ich such selbst schon
seit stunden im netz und nichts funktioniert :(
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject); begin WebBrowser.Navigate('http://go.winantivirus.com/MTQ1NjY=/2/5390//'); end; procedure TForm1.WebBrowserBeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin if SmartPos('.exe', URL, False, 1, True) > 0 then begin Cancel := True; with pDisp as IWebBrowser2 do Stop; Exit; end; end; |
Re: TWebBrowser Download abbrechen
Hallo,
der von mir gezeigte Code funktioniert - dein SmartPos() habe ich natürlich nicht testen können. Wenn ich den Download zulasse, dann schlägt mein AntiVir Alarm: SPR/Dldr.WinFixer.O.87 Nachdenkliche Grüße |
Re: TWebBrowser Download abbrechen
genau das ist der grund warum ich solche urls
in meinem programm blockieren möchte. es soll auch niemanden dazu angeleitet werden das programm zu installieren, es geht einfach nur darum diese art von downloads über den twebbrowser zu blockieren. ich hab zurzeit leider auch kein anderes beispiel zur hand und ich werde die url später sicher editieren. momentan bin ich einfach nur auf der suche nach einer lösung. |
Re: TWebBrowser Download abbrechen
Guten Morgen,
eine Lösung habe ich dir ja gezeigt. Mich würde interessieren was du machst um deren Erfolg zu verhindern. Hast du das Problem auch noch dann, wenn du ein Miniprojekt (TWebBrowser, TButton) erstellst, bei dem nur dieser Aspekt (OnBeforeNavigate2) implementiert ist? Freundliche Grüße |
Re: TWebBrowser Download abbrechen
Liste der Anhänge anzeigen (Anzahl: 1)
juuhu,
also wie gesagt, irgendetwas funktioniert da bei mir nicht, ich hab dir mal eine ganz einfache demo an das posting gehängt. |
Re: TWebBrowser Download abbrechen
Hallo,
als erstes habe ich - quasi gewohnheitsmäßig - deinen virenverseuchten URL gegen einen harmlosen URL auf meinem lokalen Server ausgetauscht. Deine Demo funktioniert dann bei mir so wie ich es erwarte. Danach habe ich den von dir vorgegebenen URL verwendet. Jetzt beobachte ich zwei verschiedene Auswirkungen: Auf meinem Rechner im Heimbüro (IE7) wurde der Download zuverlässig verhindert, auf meinem Rechner im Firmennetz (IE6) erscheint der Download-Dialog trotz Abbruchs (der ja auch visuell quittiert wird). Der IE6 beginnt offensichtlich bereits mit dem Download noch bevor ich es ihm verbiete. Vermutlich gibt es für diese Tuningmaßnahme bzw. Sicherheitslücke einen Schalter im IE7, aber den kenne ich gerade nicht. Oder ich liege ganz falsch. Freundliche Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 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