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

  • Kassem G

    Kassem G

    25 EKİM 2006
  • megablueblaster

    megablueblas

    23 HAZİRAN 2006
  • michaeljacksonVEVO

    michaeljacks

    2 EYLÜL 2009