[英]How can i lock a file, by making that it can only open using my application?
我想锁定一个文件(例如,使用图像)。 因此,我有此图像“ myImage.jpg”,我希望只能通过使用我的应用程序(例如我自己的图像可视化器)来访问它。 问题是我不知道该怎么做。 有人建议我更改其扩展名(将myImage.jpg更改为myImage.whatever)。 但是有人可以将其更改回jpg,或单击“打开方式”按钮并选择任何图像可视化工具,它将起作用。 那是一种只能通过我的应用程序访问的方法吗? 有没有办法制作这样一种可以锁定图像的应用程序? 并且可以手动进行吗? 我只知道Visual Studio中的C#(而且还不是它的专家),所以...
您可以控制其他人在使用文件时是否可以读取/写入文件。
但是,一旦您的应用程序关闭,该文件就位于该文件中,并且可以通过您将执行的相同读取逻辑进行传递,但可以通过另一个程序进行传递。 您可以翻转文件的所有字节,并希望“它们”不要弄清楚。 如果您真的想走得更远,可以在运行时对其进行加密和解密。
但是,当您自己不使用文件时,您不能阻止某人删除,重命名或移动您的文件。
不,无法按照您要求的方式锁定文件。 所有文件都由字节结构组成,因此无法“锁定”其他应用程序以防止读取或写入文件。
如果需要,您可以按住打开文件的句柄FileStream's
构造函数采用重载来指定文件共享模式,而其中一种模式是“不共享”。
FileStream stream = new FileStream(
sourcePath,
FileMode.Open,
FileAccess.ReadWrite,
FileShare.None
);
只要保持该流打开,其他任何都将无法访问文件,读取或写入文件。
您可以将文件保存为程序只能理解的格式,例如,通过在一定数量的字节前添加前缀。
我想说一种激发我灵感的方法。
使用加密的密码压缩图像/文件。 使用密码解压缩并使用该图像/文件。
谢谢,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.