كيف يمكنني حذف إدخال تسجيل في نظام التشغيل Windows X64 في شجرة 64 بت دون استخدام Regdeletekeyex في C ++؟

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

  •  16-09-2019
  •  | 
  •  

سؤال

أنا أعمل على 32 مثبت يجب أن يعمل على البيئات التي تتراوح من Win XP صعودا. لدينا مشكلة حيث يتعين علينا إزالة إدخال تسجيل في قسم X64 من التسجيل تحت Windows 2K3 X64.

هذا سهل بما فيه الكفاية مع RegDeleteKeEx، لكنني لا أستطيع توزيع قابل للتنفيذ قد يسمي هذه الوظيفة لأنه لن يعمل على نظام التشغيل Windows XP. يمكنني الحصول على مقبض إلى المفتاح بسهولة كافية، لا أستطيع أن أرى كيف من المفترض أن أحذفه.

لا يمكنني استخدام RegDeletekey لأن إعادة توجيه التسجيل سيقوم بإحباط جهودي على منصات X64. أنا منزعج لا أستطيع فقط نقلها إلى المفتاح الخاص بي، وسلسلة فرعية فارغة / فارغة. لا أستطيع أن أصدق أن هذا API مكسور جدا. هل فاتني شيء؟

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

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

المحلول

لماذا لا تحل RegDeleteKeyEx في وقت التشغيل (باستخدام LoadLibrary, GetModuleHandle أو ما شابه ذلك و GetProcAddress) بعد تحديد ذلك، أن النظام هو X64 واحد؟

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