我在c#.net中有一个应用程序,我在其中将SWF文件嵌入到COM对象的SWFObject中。
现在安装后,原始SWF文件也可以在应用程序根目录中找到。所以从那个地方(应用程序根目录),任何人都可以访问该文件。但我想限制该文件被打开。
axShockwaveFlash1.Movie = Directory.GetCurrentDirectory() + "\\XYZ.swf";
我做了类似的事。
那么如何在应用程序根目录中限制该文件,以便只从我的应用程序中我可以访问它.. ??
答案 0 :(得分:1)
您可以将文件嵌入到dll或exe文件中并从那里播放。这样它根本不是(作为一个单独的文件)在文件系统中。
有关详细信息,请参阅How to embed and access resources by using Visual C#。
答案 1 :(得分:1)
您可以将swf文件二进制数据保存为代码中的静态字节,并静态加载它们并转换回swf文件。转换可能需要一段时间,但只有在您打开程序时才会发生一次。
编辑: 但是k3b的answer更好。
答案 2 :(得分:1)
权限基于用户,而不是应用程序,所以简短的答案是你做不到的。但是,您可以非常轻松地构建自己的应用程序特定的身份验证。让你的SWF需要设置特定的FlashVars
才能超越第1帧。人们仍然可以反编译您的SWF,但这至少会阻止大多数人。另一种选择是尝试以某种方式将数据存储在二进制文件中,并使用字节数组加载SWF,see this post进行一次尝试。