我需要锁定我的密码字典文件,我想锁定文件被删除和更改。
我该怎么办?在C# WinApi
或其他任何事情?
答案 0 :(得分:2)
在程序运行时,您可以使用FileStream.Lock
和FileStream.UnLock
来锁定文件。
答案 1 :(得分:2)
您可以使用 FileShare.None 打开文件,只要您想要锁定它就可以保留
var stream = new FileStream("file.ext",FileMode.Open,
FileAccess.ReadWrite,FileShare.None);
//file is locked
stream.Close(); //lock is release.
答案 2 :(得分:1)
为什么不在您的文件上设置安全性(仅允许您想要的用户)并在您的代码中使用模拟。模拟将允许您的应用程序使用用户凭据访问您的文件
使用来自网址http://www.codeproject.com/Articles/10090/A-small-C-Class-for-impersonating-a-User
的Impersonator类using (new Impersonator("Username", "Domainname", "Password"))
{
string pwdfile= File.ReadAllText("c:\dictionaryfile.pwd");
Console.WriteLine(pwdfile);
}
答案 3 :(得分:0)
如果您正在寻找 WINAPI替代,see this answer。它实际上解决了使用FileStream.Lock
可能遇到的问题。