从Delphi应用程序执行后从网站获取pdf文件路径?

从Delphi应用程序执行后从网站获取pdf文件路径?,delphi,pdf,Delphi,Pdf,因此,我试图找出一种方法,当用户从一个网站打开一个pdf文件,然后有一个Delphi应用程序来执行和显示pdf。是否可以以某种方式复制文件来源的url位置,并在创建表单时将其传递给字符串 浏览器将PDF下载到临时文件中,然后启动外部应用程序以显示该临时文件(如果浏览器本身未显示)。如果该应用程序恰好是您的Delphi应用程序,则只会(通过命令行参数)告诉它有关临时文件的信息,而不是PDF最初来自的URL 根据您使用的浏览器及其公开的API,您可以查询浏览器的缓存文件夹,查找映射到临时文件的URL

因此,我试图找出一种方法,当用户从一个网站打开一个pdf文件,然后有一个Delphi应用程序来执行和显示pdf。是否可以以某种方式复制文件来源的url位置,并在创建表单时将其传递给字符串

浏览器将PDF下载到临时文件中,然后启动外部应用程序以显示该临时文件(如果浏览器本身未显示)。如果该应用程序恰好是您的Delphi应用程序,则只会(通过命令行参数)告诉它有关临时文件的信息,而不是PDF最初来自的URL

根据您使用的浏览器及其公开的API,您可以查询浏览器的缓存文件夹,查找映射到临时文件的URL


例如,Internet Explorer在内部使用,WinInet公开了一个用于处理IE缓存数据的文件。您可以使用和枚举缓存的内容,其中该结构有一个
lpszSourceUrlName
字段用于URL,一个
lpszLocalFileName
字段用于缓存中的本地文件名。您可以使用或获取缓存本身的路径。

如果浏览器中有URL,则表示浏览器已显示PDF。为什么你的程序会在这种情况下运行?看起来您真正想要的是浏览器下载PDF而不是显示它,而是使用您的程序打开下载的文件,可能是使用Acrobat Reader。因此,你的问题不在于如何检测浏览器的PDF URL,而在于如何告诉任何受支持的浏览器调用你的PDF程序,而不是在内部显示它们。Remy知道我想实现什么。我只想知道url路径。您还应该提到,只有当服务器通过HTTP协议将PDF作为文件提供时(文件的url可用),这才有效。但当使用数据流传输PDF时,它将不起作用,在这种情况下,没有可用的URL。