.net 如何在应用程序中包含无法更改的图像?

.net 如何在应用程序中包含无法更改的图像?,.net,winforms,.net,Winforms,我在我的应用程序中使用了许多图像和资源文件 这里的问题是,我的应用程序的其他用户是否可以通过替换和重命名我的位图将其更改为自己的位图 例如,尺寸为250x120的我的徽标将出现在启动屏幕上 是否需要将logo.png放在我的exe文件附近 如果是,用户是否可以在我的exe文件附近替换另一个文件,名为logo.png,以显示他们自己的文件 如何避免这种不好的情况?您应该将任何图形保存在资源文件中,而不是与应用程序分开保存 也许会有帮助 根据那里的答复: 有很多方法可以做到这一点 Imagelist

我在我的应用程序中使用了许多图像和资源文件

这里的问题是,我的应用程序的其他用户是否可以通过替换和重命名我的位图将其更改为自己的位图

例如,尺寸为250x120的我的徽标将出现在启动屏幕上

是否需要将logo.png放在我的exe文件附近

如果是,用户是否可以在我的exe文件附近替换另一个文件,名为logo.png,以显示他们自己的文件


如何避免这种不好的情况?

您应该将任何图形保存在资源文件中,而不是与应用程序分开保存

也许会有帮助

根据那里的答复:

有很多方法可以做到这一点

Imagelist控件:将图标/图像添加到Imagelist,您可以在运行时访问它们

托管资源:右键单击您的项目名称,然后从菜单中选择“属性”,在“属性”上选择“资源”选项卡,并将您的图像或图标添加为现有项。现在,您可以通过资源访问图标或图像 将img设置为位图=My.Resources.YourResourcesNameWithoutExtension Dim Ic as Icon=My.Resources.YourResourcesNameWithoutExtension

嵌入式资源:要将任何文件添加为windows窗体应用程序中的嵌入式资源,请使用project |添加现有项将该文件添加到项目中,或在解决方案资源管理器中右键单击项目名称,然后单击添加现有项。然后在解决方案资源管理器中选择该文件,转到“属性”窗口,并将其“生成操作”属性设置为“嵌入式资源”。构建项目时,该文件将嵌入到已编译的可执行文件中


如果文件已编译成资源,它将嵌入到可执行文件中。其他人将相同名称的文件放在可执行文件附近不会有任何效果,因为它已经被编译


如果黑客真的想替换你的徽标,他们仍然可以在你的可执行文件中编辑资源,但这不会意外发生。

我不会把它称为仅仅替换一个明显的文件的黑客行为。无论如何,您可以通过多种方式来实现,但最难更改的是嵌入式资源。请参阅此网站上的第3页:。请注意,您当前正在执行2。

如果它们之间的距离不小于42厘米,则可能正常-你在开玩笑吗?我是认真的。“如果你能帮助我,我会很高兴的。他们需要像妈妈那样做。”帕克希德,对不起,问题很模糊,不知道你在说什么。请重新表述您的问题对不起,我的意思是:相同的exe文件目录,所以他们不能更改它们是吗?没有资源编辑器吗?正确,它是用exe编译的。请看上面的链接。这并不意味着它们不能更改,这只是更多的步骤……你当然可以让事情比嵌入资源更难——但超出这一点的任何事情都只是与黑客展开军备竞赛,没有什么好处,谁在乎他们是否替换位图?@bdonlan:是的,我应该澄清这不是最难的。这是在应用程序中包含图像的标准方法中最难的一种。您可以添加加密、程序集签名、模糊处理等,但没有什么意义。