【问题标题】:Keep file restricted from opening it by anyone限制文件被任何人打开
【发布时间】:2012-03-21 06:44:28
【问题描述】:

我在 c#.net 中有一个应用程序,其中我将 SWF 文件从 COM 对象嵌入到 SWFObject 中。

现在安装后,原始 SWF 文件也可以在应用程序根目录中找到。因此,任何人都可以从那个地方(应用程序根目录)访问该文件。但我想限制该文件被打开。

axShockwaveFlash1.Movie = Directory.GetCurrentDirectory() + "\\XYZ.swf";

我做了这样的事情。

那么我怎样才能在应用程序根目录中限制该文件,以便我只能从我的应用程序访问它..??

【问题讨论】:

    标签: c# windows-installer


    【解决方案1】:

    您可以将文件嵌入到 dll 或 exe 文件中并从那里播放。这样它就根本不在文件系统中(作为一个单独的文件)。

    详情见How to embed and access resources by using Visual C#

    【讨论】:

    • 是的..我知道但不知道如何去做..我看到你的链接但不太清楚..你能帮我吗..?
    【解决方案2】:

    您可以将 swf 文件二进制数据保存为代码中的静态字节,然后静态加载它们并转换回 swf 文件。转换可能需要一点时间,但只会在您打开程序时发生一次。

    编辑: 但是k3b的answer更好。

    【讨论】:

      【解决方案3】:

      权限基于用户,而不是应用程序,所以简短的回答是您不能。但是,您可以非常轻松地构建自己的特定于应用程序的身份验证。让您的 SWF 要求设置特定的 FlashVars 以超越第 1 帧。人们仍然可以反编译您的 SWF,但这至少会阻止大多数人。另一种选择是尝试以某种方式将数据存储在二进制文件中,然后使用字节数组see this post 加载 SWF。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-22
        • 2015-06-06
        • 2011-10-16
        • 1970-01-01
        相关资源
        最近更新 更多