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

  • AutoHotkey Tutorials

    AutoHotkey T

    29 Mayıs 2010
  • booba1234

    booba1234

    22 Temmuz 2006
  • International Secret Agents Concerts

    Internationa

    2 Aralık 2008