سؤال

أنا أبحث عن واجهة برمجة برمجي حول كيفية إعادة تشغيل أي جهاز يسمح بتمكين/تعطيل مدير الأجهزة ،

مثل الأجهزة الصوتية ومحول الشبكة

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

المحلول

سيكون عليك استخدام setupapi / ConfigManager API. لكن كن على دراية أنه بموجب تطبيق X64 أنت. يجب أن يكون X64 أيضًا لتمكين/تعطيل الجهاز (لذلك لا يمكنك القيام بذلك في Delphi مباشرةً في الوقت الحالي - أولاً اعتقدت أنها مشكلة في إعادة توجيه الملف/التسجيل لـ X86 -APP بموجب X64 ، لكنها لم تساعد). تعداد الجهاز يعمل بشكل جيد. كان هناك شيء حول هذا الموضوع في مقال واحد عن MSDN ، لكن لا يمكنني العثور عليه الآن. لقد قمت بتطبيق FP/Lazarus X64 لتمكين/تعطيل الأجهزة بموجب X64 OS.

يمكنك التنزيل WDK وابحث عن الكود المصدري لـ ديفكون (C: Winddk 7600.16385.1 src setup devcon). في cmds.cpp ، يوجد ControlCallback وظيفة تمكن/تعطيل الجهاز باستخدام setupapi). ولكن تحتاج أولاً إلى تعداد فئات الأجهزة (بواسطة GUID أو ClassName) ، ثم تعداد مثيلات الجهاز أو فتح الجهاز بواسطة سلسلة DeviceInstanceId. إنه في C ولكن يجب أن يكون من السهل تعلم كيفية استخدام API.

لست متأكدًا مما تفعله ، ولكن ربما يكون من الأسهل استخدام DevCon.exe (لا تعرف ما إذا كان الترخيص يسمح بذلك) وتمكين/تعطيل الأجهزة به؟

نصائح أخرى

ليس لدي خبرة في ذلك ولكن أعتقد أنه يمكنك استخدام DeviceIoControl API.

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