السلام عليكم ورحمة الله وبركاته
كيف يمكننا بالاكسس أخفاء محرك الأقراص d أو ال e مثلاً برمجيا مستخدما الوصول الى الرجيسترى وتغيرر القيمة العشرية من الصفر الى 24 مثلاً لأخفاء المحركين السابقين
شكراً مقدماً للمساعده
السلام عليكم ورحمة الله وبركاته
كيف يمكننا بالاكسس أخفاء محرك الأقراص d أو ال e مثلاً برمجيا مستخدما الوصول الى الرجيسترى وتغيرر القيمة العشرية من الصفر الى 24 مثلاً لأخفاء المحركين السابقين
شكراً مقدماً للمساعده
اخي الفاضل جمال فايز
السلام عليكم ورحمة الله وبركاته
يمكن اخفاء وإظهار محركات الأقراص المطلوبه برمجيا بواسطة الكود حسب الطريقة التالية :
1. نحتاج الى عدد 2 ملفات ريجستري تكون من ضمن مجلد القاعدة
ملف الريجستري الأول خاص بإخفاء محركات الأقراص المطلوبه وهي هنا D و E
حيث محركات الأقراص تأخذ القيم التالية :
محرك الأقراص A يأخذ القيمة 1
محرك الأقراص B يأخذ القيمة 2
محرك الأقراص C يأخذ القيمة 4
محرك الأقراص D يأخذ القيمة 8
محرك الأقراص E يأخذ القيمة 16
محرك الأقراص F يأخذ القيمة 32
محرك الأقراص G يأخذ القيمة 64
محرك الأقراص H يأخذ القيمة 128
محرك الأقراص I يأخذ القيمة 256
محرك الأقراص J يأخذ القيمة 512
محرك الأقراص K يأخذ القيمة 1024
محرك الأقراص L يأخذ القيمة 2048
محرك الأقراص M يأخذ القيمة 4096
محرك الأقراص N يأخذ القيمة 8192
محرك الأقراص O يأخذ القيمة 16384
محرك الأقراص P يأخذ القيمة 32768
محرك الأقراص Q يأخذ القيمة 65536
محرك الأقراص R يأخذ القيمة 131072
محرك الأقراص S يأخذ القيمة 262144
محرك الأقراص T يأخذ القيمة 524288
محرك الأقراص U يأخذ القيمة 1048576
محرك الأقراص V يأخذ القيمة 2097152
محرك الأقراص W يأخذ القيمة 4194304
محرك الأقراص X يأخذ القيمة 8388608
محرك الأقراص Y يأخذ القيمة 16777216
محرك الأقراص Z يأخذ القيمة 33554432
جميع محركات الأقراص تأخذ القيمه 67108863
نريد الآن اخفاء المحركين D و E فيتم ذلك بجمع قيم المحركين وهما 8 + 16 وسيكون الناتج هو 24
2. نضغط من الويندوز على ابدا Start
ثم نختار تشغيل Run
ثم نكتب في الصندوق هذا الأمر RegEdit ثم موافق
وسيظهر لنا محرر الريجستري
نقوم بتتبع المفاتيح حتى نصل الى المستعرض Explorer
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
]
3. نقوم بإنشاء مفتاح جديد من نوع DWORD وذلك بالضغط بالماوس الأيمن على النافذة البيضاء ونختار جديد ثم نختار قيمة DWORD ونعطيه الإسم NoDrives
لو تلاحظ القيمة للمفتاح ستجد انها صفر بمعنى ان جميع محركات الأقراص ظاهره .
لذا سوف نقوم بحفظ هذا الملف بإسم EnabledDrives-DE.reg من خلال الضغط بالماوس الأيمن على المجلد Explorer ثم نختار تصدير ونحفظ الملف في اي مكان وليكن مثلا المجلد HideDrives .
نقوم الآن بالضغط مرتين على المفتاح NoDrives ونختار الخيار " عشري " ثم نكتب حاصل جمع قيمتي محركات الأقراص D و E وهي 24 ثم نضغط موافق
نقوم الآن بحفظ هذا الملف بإسم DisableDrives-DE.reg كما فعلنا سابقا وذلك بتصديره الى نفس المجلد السابق وهذا يعني انه اذا كانت القيمة هي 24 يعني اخفاء محركات الأقراص D و E
الان اصبح لدينا ملفين جاهزين واحد لإظهار محركات الأقراص والآخر لإخفاءها
نقوم الان بعمل قاعدة بيانات ونضع بها زرين أمر واحد للإظهار والآخر للإخفاء
في حدث النقر على زر الأمر اخفاء نضع هذا الكود
Call Shell("regedit.exe /s """ & CurrentProject.Path & "\DisableDrives-DE.reg""", 0)وفي حدث عند النقر على زر الأمر اظهار نضع هذا الكود
Call Shell("regedit.exe /s """ & CurrentProject.Path & "\EnabledDrives-DE.reg""", 0)نلاحظ في الكودين انهما يستدعيان ملفات الريجستري الموجودين في نفس قاعدة البيانات مع التنفيذ مباشرة بدون ان تظهر لنا اي رسالة بذلك من خلال المعامل s/
كما نعلم ان اي تغيير في ملف الريجستري لا بد ان يصاحبه اعادة تشغيل الويندوز او على الأقل الخروج والدخول مباشرة لكي يتم تنفيذ التغييرات التي قمنا بها على المفتاح لإظهار واخفاء محركات الأقراص لذا نحتاج الى اضافة أمر وهو اعادة تشغيل او عمل LogOff لمستخدم
الويندوز ثم الدخول من جديد من خلال الكود الخاص بذلك
Const EWX_LOGOFF = 0
Const EWX_SHUTDOWN = 1
Const EWX_REBOOT = 2
Const EWX_FORCE = 4
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Private Sub Disable_Click()
'E و D هذا الكود خاص بإخفاء محركات الأقراص
Call Shell("regedit.exe /s """ & CurrentProject.Path & "\DisableDrives-DE.reg""", 0)
ret& = ExitWindowsEx(EWX_LOGOFF, 0)
DoCmd.Quit
End Sub
'E و D هذا الكود خاص بلإظهار محركات الأقراص
Private Sub Remove_Click()
Call Shell("regedit.exe /s """ & CurrentProject.Path & "\EnabledDrives-DE.reg""", 0)
ret& = ExitWindowsEx(EWX_LOGOFF, 0)
DoCmd.Quit
End Subملاحظة هامة : يجب حفظ اي ملفات او برامج تعمل عليها وإغلاقها قبل القيام بالضغط على زري الأمر اظهار و أخفاء لأن الويندوز سيتم اغلاقها وفتحها من جديد .
معلومه : بإمكانك اخفاء اي محرك اقراص او مجموعة من محركات الأقراص او حتى كل محركات الأقراص حيب الطريقة المشروحه اعلاه
وهذا هو البرنامج الخاص بإخفاء واظهار محركات الأقراص D و E مع ملفي الريجستري الخاصة بذلك في مجلد zaHideDrives
شكراً أختنا الغالية زهره على هذا الشرح الوافى والجميل والمفيد
جعلكم الله دائماً قائداً ومرشداً صالحاً...
بسم الله الرحمن الرحيم
بارك الله فيكم اخواني