SORU
25 Kasım 2008, Salı


Nasıl bir dosya kullanarak kilitleme olan öğrenebilirim .NET?

Handle kullanarak ilgili cevaplar geldi ya da Process Monitor, ama kendi Şifremi bulmak mümkün olmak istiyorum (C#) bir dosya kilitleme.

Ben kötü bir duygu olduğunu ben de spelunk etrafında win 32 API, ama eğer herkes zaten bunu yaptın ve beni doğru yolda, isterim gerçekten yardım için teşekkür ederiz.

Güncelleme

Benzer sorular bağlantılar

CEVAP
12 AĞUSTOS 2009, ÇARŞAMBA


C Win32 çağırmak için çok karmaşık yoldur#.

http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx aracı Handle.exe kullanmalısınız

Ondan sonra C# kodu aşağıdaki gibi olmalıdır:

string fileName = @"c:\aaa.doc";//Path to locked file

Process tool = new Process();
tool.StartInfo.FileName = "handle.exe";
tool.StartInfo.Arguments = fileName " /accepteula";
tool.StartInfo.UseShellExecute = false;
tool.StartInfo.RedirectStandardOutput = true;
tool.Start();           
tool.WaitForExit();
string outputTool = tool.StandardOutput.ReadToEnd();

string matchPattern = @"(?<=\s pid:\s )\b(\d )\b(?=\s )";
foreach(Match match in Regex.Matches(outputTool, matchPattern))
{
    Process.GetProcessById(int.Parse(match.Value)).Kill();
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jcortes187

    jcortes187

    24 Mart 2006
  • Jordie Jordan

    Jordie Jorda

    27 Ocak 2008
  • TSE

    TSE

    12 Kasım 2012