【问题标题】:Forbid access to images in a C# WinForms game禁止访问 C# WinForms 游戏中的图像
【发布时间】:2012-06-24 19:30:25
【问题描述】:

我正在使用 winforms C# 创建一个游戏。

游戏包含一些在游戏过程中显示的图像。

我想禁止玩家打开游戏目录和打开图片文件,因为看到它们会破坏游戏性。

例如,在C&C中,玩家不能只进入游戏库观看猛犸坦克精灵,或观看电影。

有没有办法禁止玩家看到这些图片?

【问题讨论】:

  • 将它们从 .jpg 重命名为 .dat ;)
  • 诚实地考虑你的时间和精力来做这样的事情。真的值得吗?
  • 这可能会有所帮助:stackoverflow.com/questions/1192054/…
  • @mellamokb:重命名是不够的。有很多图像查看器不依赖文件结尾,而是检查文件开头的一些标题信息。此外,对文件内容真正感兴趣的人也可能有足够的能力使用 Hex 编辑器工具查看,然后找到相同的标题信息,然后...尝试重命名文件。

标签: c# winforms


【解决方案1】:

您可以相当轻松地将它们嵌入到资源中,并在需要时提取它们。更多信息请见this link

或者您可以在需要时对其进行加密和解密

【讨论】:

    【解决方案2】:

    链接的资源在项目中存储为文件;在编译期间,从文件中获取资源数据并放入应用程序的清单中。应用程序的资源文件 (.resx) 仅存储磁盘上文件的相对路径或链接。

    对于嵌入式资源,资源数据以二进制数据的文本表示形式直接存储在 .resx 文件中。无论哪种情况,资源数据都会被编译成可执行文件。

    将资源从链接更改为嵌入

    1. 在解决方案资源管理器中选择项目后,在项目菜单上单击属性。
    2. 单击“资源”选项卡。
    3. 在资源设计器工具栏上,指向资源视图下拉菜单,单击箭头,然后选择要编辑的资源类型。
    4. 选择您要更改的资源。
    5. 在“属性”窗口中,选择 Persistence 属性并将其更改为 Embedded in .resx。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-06
      相关资源
      最近更新 更多