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

时间:2011-05-27 21:27:14

标签: .net winforms

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

问题在于我的应用的其他用户是否可以通过替换和重命名将我的位图更改为自己的位图?!

例如,具有250x120尺寸的My Logo将出现在闪屏上。

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

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

避免这件坏事的方法是什么?

3 个答案:

答案 0 :(得分:3)

如果文件已编译为资源,则它将嵌入您的可执行文件中。其他人在您的可执行文件附近放置一个同名文件将没有任何效果,因为它已经被编译。

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

答案 1 :(得分:2)

您应该将任何图形保存在资源文件中,而不是作为应用程序的单独文件。

This link可能会有所帮助。

根据那里的回应:

  

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

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

  2.   
  3. 托管资源:右键单击项目名称,从菜单中选择属性,在属性上选择资源选项卡,然后将图像或图标添加为现有项目。现在可以从资源中访问图标或图像   Dim img as Bitmap = My.Resources.YourResourcesNameWithoutExtension   Dim Ic as Icon = My.Resources.YourResourcesNameWithoutExtension

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

答案 2 :(得分:1)

我不会称之为“黑客”只是替换一个明显的文件。无论如何,你可以通过多种方式实现,但最难改变的是嵌入式资源。请参阅本网站上的#3:http://www.progware.org/Blog/post/Image-Resources-in-WinForms-and-WPF.aspx。请注意,您目前正在做#2。