![]() |
|
استغلال cfgmgr32.dll وsetupapi.dll لتجهيز وتسيير وسائط النظام - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي التقنية (https://delphi4arab.net/forum/forumdisplay.php?fid=6) +--- قسم : دلفي والتعامل مع النظام و الذاكرة (https://delphi4arab.net/forum/forumdisplay.php?fid=20) +--- الموضوع : استغلال cfgmgr32.dll وsetupapi.dll لتجهيز وتسيير وسائط النظام (/showthread.php?tid=986) الصفحات:
1
2
|
استغلال cfgmgr32.dll وsetupapi.dll لتجهيز وتسيير وسائط النظام - kachwahed - 25-06-2009 بسم الله الرحمن الرحيم السلام عليكم ورحمة الله cfgmgr32.dll ، setupapi.dll هما مكتبتان للدوال المتعلقة بأجهزة النظام (توجدان في System32)، يجمع هذان الملفان مجموعة هامة الدوال المتعلقة بتثبيت وتسيير أجهزة النظام، وبواسطتهما يمكن الوصول إلى عدة وسائط على غرار COM Ports، DeviceManager، USBDrive... طالع المزيد حول المكتبتين من MSDN SetupAPI cfgmgr32 من أجل استغلال هذه الدوال قام بعض المبرمجين بإنشاء وحدات لاستدعائها من الدلفي، هناك مكون (منفرد) لمكتبة المكونات Jedi يقوم باستغلال هذه مجموعة من هذه الدوال، تجدونه من هنا. لكن المكون يتطلب تثبيت المكتبة بكاملها لأجل بعض الثوابت والأنماط، لذلك قمت باستخراج هذه الوحدات وإضافة ما ينقصها حتى تصبح سهلة للاستعمال، تجدونها المرفقات Units. انطلاقا من هذه الوحدات قمت بتعديلات عليها وأعددت مثال صغير حول طريقة الاستخدام، بريمج يعرض جميع الأقراص السريعة الموصلة بالحاسب مع الرقم التسلسلي الفيزيائي ، مع زر يمكنك من سحب القرص في وضع آمن USB Drive Safe Removal، في المرفقات ملف تنفيذي ومصدره.ملاحظة: بعض المبرمجين يستعمل الرقم الفيزائي للقرص السريع لتوزيع برنامجه (نسخة لكل قرص). ![]() استغلال cfgmgr32.dll وsetupapi.dll لتجهيز وتسيير وسائط النظام - STRELiTZIA - 29-06-2009 السلام عليكم و رحمة الله بارك الله فيك اخي كاش واحد ![]() بعض الملاحظات : - الأداة تظهر حرف A الخاص بــ Floppy في الأجهزة التي تحتوي على قارئ الأقراص المرنة. - عند تشغيل الأداة قبل ربط الــ Flash Memory لا يتم الفحص. الاقتراحات : - استعمال Timer و الأفضل Thread يقوم بالفحص الدوري و ارسال النتائج. إقتباس :تجدونها المرفقات Unitsارفقت ملفات includes التي تعمل مع الوحدات دون الحاجة الى تثبيت مكونات JEDI بالتوفيق ان شاء الله استغلال cfgmgr32.dll وsetupapi.dll لتجهيز وتسيير وسائط النظام - kachwahed - 29-06-2009 وفيكم بارك الله إخوتي جميعا وعليكم السلام ورحمة الله وبركاته أخي STRELiTZIA إقتباس :- الأداة تظهر حرف A الخاص بــ Floppy في الأجهزة التي تحتوي على قارئ الأقراص المرنة.معك حق، لأنه يضاف كقيمة ثابتة، كان في يجدر بي أن أحذفه. إقتباس :- عند تشغيل الأداة قبل ربط الــ Flash Memory لا يتم الفحص.لأن الفحص يتم بشكل غير ديناميكي، استعمال Thread يقوم بالمراقبة فكرة رائعة... هناك حدث Windows مخصص لذلك: PHP كود : procedure WMDeviceChange(var Msg: TWMDeviceChange); message WM_DEVICECHANGE; إقتباس :ارفقت ملفات includes التي تعمل مع الوحدات دون الحاجة الى تثبيت مكونات JEDIلقد حذفت Includes من الوحدات عمدا: PHP كود : {/$I jediapilib.inc} PHP كود : {$DEFINE WINXP} سأوافيكم بالجديد إن شاء الله. استغلال cfgmgr32.dll وsetupapi.dll لتجهيز وتسيير وسائط النظام - kachwahed - 30-06-2009 التحديث في المرفقات: إضافة الحدث WM_DEVICECHANGE لفحص إدخال أو سحب قرص USBDrive، بارك الله فيك أخي STRELiTZIA. استغلال cfgmgr32.dll وsetupapi.dll لتجهيز وتسيير وسائط النظام - STRELiTZIA - 01-07-2009 إقتباس :سأوافيكم بالجديد إن شاء الله.الآن ما شاء الله اصبح كامل متكامل ![]() الاقتراحات المملة: ![]() ![]() ![]() في هذه المرحلة يجب تطويره الى مكون Component سيكون رائع... مع اضافة خاصية Enabled و احداث مهمة مثل : OnUSBDeviceConnect و OnUSBDeviceDisconnect بالتوفيق ان شاء الله استغلال cfgmgr32.dll وsetupapi.dll لتجهيز وتسيير وسائط النظام - kachwahed - 05-07-2009 السلام عليكم معذرة على التأخير... إقتباس :في هذه المرحلة يجب تطويره الى مكون Component سيكون رائع...المكون جاهز، مفتوح المصدر (Unit) لمن أراد تطويره ، يعمل على D7 حتى D2009اكتفيت بحدث OnDeviceChange وبعض الخصائص مثل Enabled والإجراءات... البقية وطريقة الاستعمال في المثال... والمثال مع المكون في المرفقات ![]() بالتوفيق. استغلال cfgmgr32.dll وsetupapi.dll لتجهيز وتسيير وسائط النظام - Ahmed18 - 24-12-2009 بارك الله فيك اخي kachwahed لا اعرف كيف اشكرك علي هذا المكون الرائع. لكن جربت المثال علي نسخة Windows Seven ولكن لا يعمل حيث لا يقوم بعمل Safe Remove لل USB استغلال cfgmgr32.dll وsetupapi.dll لتجهيز وتسيير وسائط النظام - kachwahed - 25-12-2009 إقتباس :لكن جربت المثال علي نسخة Windows Seven ولكن لا يعمل حيث لا يقوم بعمل Safe Remove لل USBمؤكد... لأنه يستخدم دوال API وملفات النظام الخاصة بالـ XP، الآن يجب تحديثها لتتوافق مع Win7، لم أثبت Win7 بعد، لك أن تستكشف وتقوم بالمغامرة .
استغلال cfgmgr32.dll وsetupapi.dll لتجهيز وتسيير وسائط النظام - Ahmed18 - 25-12-2009 الأمر الغريب ان المكتبات موجودة في Windows 7 في ال system32 لذلك من المفترض ان يعمل ! كنت اعتقد ان المشكلة مشكلة صلاحيات Privilege لذلك جربت استخدام الكود هكذا: كود : SetPrivilege('SeUndockPrivilege', true);
CM_Request_Device_Eject(DEVINST(USBDrives.Objects[Drive]),@VetoType, nil, 0, 0);
SetPrivilege('SeUndockPrivilege', False);- علي اي حال سأبحث في هذا الامر واذا توصلت لشئ سأضع النسخة المتوافقة مع Win7 هنا ان شاء الله. استغلال cfgmgr32.dll وsetupapi.dll لتجهيز وتسيير وسائط النظام - NadirSoft - 03-11-2010 مشكور يااخي يعمل 100/100 على دالفي 5 بنضام ويندوز sp3 مع العلم يجب تنصيب المكونات |