gpt4 book ai didi

c# - 如何从 BHO 将图像嵌入网页?

转载 作者:行者123 更新时间:2023-11-30 17:14:04 25 4
gpt4 key购买 nike

我有一个用 C# 编写的 BHO 库 mybho.dll。我嵌入了一个资源文件“image.png”。我想在某些页面上显示此图像。根据我的阅读,它应该是这样的:

<img src="res://mybho.dll/image.png">

但是 Internet Explorer 找不到图像。我试过这个但没有成功:

<img src="res://mybho.dll/#2/image.png">

正确的做法是什么?

最佳答案

您混淆了 Win32 资源和 .NET 程序集资源。 'res:' 协议(protocol)处理程序从 DLL 返回 Win32 资源。 .NET 资源不是 Win32 资源,因此 IE(实际上是 urlmon.dll,其中实现了 res:)无法找到您的图像。

你有两个选择:

  1. 最简单的方法可能是创建 Win32 资源(*.res 文件)并将其嵌入到托管程序集中。首先,创建一个指向您的图像的 *.RC 文件。我不确定,但我认为您必须先将 PNG 格式转换为 BMP 格式。然后,将 RC 文件编译成二进制资源(使用 RC - 资源编译器)。最后,在构建托管程序集时,使用/win32res 开关添加 Win32 资源。

  2. 您还可以实现异步可插入协议(protocol)处理程序。假设您想实现一个新的协议(protocol)方案:julien://image.png'。在 HKCR\PROTOCOLS\Handler\julien 注册它,并实现 IInternetProtocol(和其他一些协议(protocol))。这不是一项非常容易的任务(做过一次 - 有很多机会犯错误)。

关于c# - 如何从 BHO 将图像嵌入网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9156177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com