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

  • Matt Harding

    Matt Harding

    23 Mayıs 2006
  • Matthew Morrill

    Matthew Morr

    15 EKİM 2011