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

  • calicoJake

    calicoJake

    29 EKİM 2007
  • iNCH

    iNCH

    20 Temmuz 2009
  • olinerd

    olinerd

    23 AĞUSTOS 2007