سؤال

هل هناك طريقة لمحاكاة محرك الأقراص في .NET، لاعتراض عمليات القراءة/الكتابة/القفل؟
أرغب في إنشاء شيء بواجهة أمامية مشابهة لـ محرك جوجل شركة#.

شكرا توم

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

المحلول

أنا استخدم الدوس نظام ملفات الرد نفسي لهذا الغرض، ولكن على الرغم من أنها جيدة، إلا أنها ليست رخيصة تمامًا.

هناك بعض المشاريع المجانية/الرخيصة أيضًا، وأنا متأكد من أنه تم ذكر أحدها في سؤال مماثل على SO مؤخرًا - ولكن لم يعد بإمكاني العثور عليه في الوقت الحالي.يميل الاستقرار إلى أن يكون مشكلة كبيرة، نظرًا لأن برامج تشغيل نظام ملفات Windows ذات الطبقات ليست تافهة.

نصائح أخرى

على نظام التشغيل Linux، يمكنك استخدام Mono.Fuse API (http://www.jprl.com/Projects/mono-fuse.html) لتنفيذ أنظمة الملفات المستندة إلى .NET باستخدام كود المستخدم الأرضي.

يمكنك أن ترى كيف http://www.truecrypt.org/ يفعل ذلك.إنه يفعل ذلك بالضبط إما باستخدام الملفات أو باستخدام محرك أقراص أو قسم.ثم يقوم بتحميل الملف كما لو كان محرك أقراص حقيقيًا.الآن، ربما يكون رمز المصدر معقدًا بعض الشيء؛)

ليس حقًا، .Net يحتل مرتبة أعلى وظائف نظام التشغيل مثل الوصول إلى القرص ليمنحك أشياء مثل أدوات الوصول إلى الملفات المُدارة. يمكنك كتابة كل ذلك بلغة C# مُدارة، ولكنك ستحتاج إلى استدعاءات غير مُدارة لجعل نظام التشغيل يعامله مثل محرك أقراص آخر.

جميع عناصر ملحق Shell هي COM: http://msdn.microsoft.com/en-us/library/cc147467(VS.85).aspx

ومع ذلك، يمكنك كتابة تطبيق .Net لسطح المكتب يسمح بالسحب والإفلات من المستكشف ويبدو وكأنه طريقة عرض نظام الملفات.

يمكنك أيضًا استخدام EZNamespaceExtension لـ .NET.يمنحك هذا التكامل مع Windows Explorer.ليست باهظة الثمن نظرًا لأن الترخيص لكل مطور وليس للتوزيع.

تحديثمشكلة كبيرة مع EZNamespaceExtension.NET.لم يتم تحديثه لفترة طويلة.يبدو أن LogicNP قد فقد اهتمامه بـ EZNamespaceExtension.NET لأنه لم يكن هناك إصدار يحتوي على عدد قليل من الميزات الجديدة منذ عام 2010.لا يوجد دعم .NET 4 ولا يوجد دعم لشريط أدوات Windows 8

لقد قمت بالخروج للتو EZNamespaceExtension لـ .NET مع الرابط أعلاه.يبدو أنهم محدثون كإصدار 2013.ولكن لست متأكدًا من أنه يمكن الإجابة على سؤال العرض كمحرك أقراص في Explorer.exe (AFAIK.لا يمكن أن تظهر كحرف محرك أقراص)

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