كيف يمكنني فتح ملف مقفل بواسطة عملية في .NET [نسخة مكررة]

StackOverflow https://stackoverflow.com/questions/242882

سؤال

هذا السؤال لديه بالفعل إجابة هنا:

أريد أن يقوم تطبيقي بتنظيف جميع الملفات المؤقتة التي يستخدمها، والمشكلة هي أنه ليست كل الملفات المؤقتة تحت سيطرتي، لذلك أريد فقط فتحها "بوحشية" من أجل حذفها برمجيًا.

هل كانت مفيدة؟

المحلول

نلقي نظرة على هذا شرط.أعتقد أنك ستواجه صعوبة في القيام بذلك في C# محليًا، حتى باستخدام التشغيل المتداخل، ولكن كتابة مجموعة مجمعة C++/CLI قد تكون حلاً وسطًا جيدًا.لاحظ أيضًا أن المستخدم يحتاج إلى الحصول على امتياز SE_DEBUG حتى يعمل هذا.

نصائح أخرى

لقد كافحت مع هذا أيضًا، وانتهى بي الأمر بالتوجه إلى تطبيق سطر أوامر Unlocker.في حالتي، يجب تشغيله عدة مرات يوميًا وينتهي الأمر بفتح آلاف الملفات يوميًا دون أي مشكلة.

من المؤكد أن تطبيقك يريد تنظيف الملفات المؤقتة التي يمتلكها، إذن لديك السيطرة الكاملة على فتح هذه الملفات وحذفها!

إذا كنت تريد حذف جميع ملفات TEMP، سواء كانت مملوكة لتطبيقك أو غير ذلك، فيجب أن تكون حذرًا للغاية.ربما قام التطبيق الأصلي بتطبيق القفل لأنه يريد استخدام الملف!

إذا كنت تريد ذلك حقًا، فيمكنك دائمًا إنشاء تطبيق سطر أوامر بدلاً من محاولة تكرار وظائف الأدوات الموجودة والتي ستكون صعبة في C#.

ألق نظرة على هذا خيط في منتديات MSDN.هناك معلومات كافية للقيام بما تريد، ولكن لا ينصح بذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top