![]() |
Text (Content) einer ms-help://-Adresse erhalten
Moin,
ich habe die gültige URL einer lokalen Hilfe-Seite, beipsielsweise "ms-help://borland.bds5/devcommon/codeeditor_xml.html". Wie komme ich denn jetzt elegant an den zugehörigen Hilfe-Content? Sicherlich kann ich den Weg über TWebBrowser.Navigate() gehen und mir dann den Source herausziehen, aber das sollte doch auch einfacher gehen. Einfach eine Indy-Komponente auf das Formular setzen hat leider nicht geklappt, da diese so ohne Weiteres nicht mit dem ms-help://-Protokoll klarkommt. Jemand 'ne Idee, wie man dies bewerkstelligen könnte? |
Re: Text (Content) einer ms-help://-Adresse erhalten
Versuch mal:
Delphi-Quellcode:
Uses ...,UrlMon;
function DownLoadInternetFile(const Source, Dest : String): Boolean; begin Result := URLDownloadToFile(nil,PChar(Source),PChar(Dest),0,nil) = 0 end; if DownLoadInternetFile('ms-help://borland.bds5/devcommon/codeeditor_xml.html', 'C:\codeeditor_xml.html') then begin // ok end; |
Re: Text (Content) einer ms-help://-Adresse erhalten
:-)
:thumb: Danke Dir vielmals. Ich habe es jetzt so gelöst, dass ich die Daten in einem Stream erhalte:
Delphi-Quellcode:
function DownLoadInternetFile( const URL : WideString; const outStream : TStream ) : boolean;
var Stream : IStream; Buffer : array of byte; numBytes : longint; hr : HRESULT; begin SetLength( Buffer, 8192 ); if (URLOpenBlockingStreamW( NIL, PWideChar(URL), Stream, 0, NIL) = S_OK) then begin hr:= Stream.Read (@Buffer[0], SizeOf(Buffer), @numBytes ); while (hr = S_OK) do begin outStream.Write( Buffer[0], numBytes ); hr:= Stream.Read (@Buffer[0], SizeOf(Buffer), @numBytes ); end; result:= TRUE; end else result:= FALSE; SetLength( Buffer, 0 ); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 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 by Thomas Breitkreuz