DISM API – تغيير لغة الإخراج

برمجة


أهلاً،
أنا أعمل مع الوظائف الموثقة لـ dismapi.dll، ولكن لا يوجد خيار للتحكم في لغة الإخراج لرسائل الخطأ. لذلك عندما أقوم بتنفيذ DismGetLastErrorMessage()، أحصل على نص ألماني. هل يمكنني تغيير هذا السلوك بحيث تعرض واجهة برمجة التطبيقات نصًا باللغة الإنجليزية؟؟

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

شكرًا لك!

الحل 2

يرجى الاطلاع على تعليقاتي على السؤال.

كتب Tolleule@web.de:

لا لا لقد أسأت فهمي أنا مهتم بالبرمجة كثيرًا، لكن ليس بـ C++، فهذه اللغة تربكني. أنا أعمل فقط مع بايثون. الآن، أحتاج فقط إلى طريقة لقراءة lib. عندما أقوم بإضافته إلى مشروع Win32 الخاص بي، تظهر لي رسالة الخطأ “… لا يوجد محرر متاح لـ dismapi.lib”. هل يمكنك مساعدتي بهذا؟

تحرير: هل ملف lib هو ملف مترجم مثل DLL؟

يؤسفني أن أقول: بالكاد، ولسوء الحظ، فهمتك جيدًا.

لا تزال بحاجة إلى معرفة لغة C++ جيدًا. لنفترض بعد ذلك أنه يمكنك القيام بذلك باستخدام لغة C#. لا أعرف ما إذا كان لدينا غلاف .NET لـ DISM. إذا لم يكن الأمر كذلك، عليك أن تفعل ذلك بنفسك، ولهذا الغرض عليك أن تفهم قدرًا كبيرًا من لغة C++. إذا كان متاحًا، فأنت لا تزال بحاجة إلى معرفة جادة بـ .NET وC#. أخيرًا، لنفترض أنك تريد استخدام Python بدلاً من C#. هناك شيء اسمه Iron Python. وهذا يعني معرفة .NET جيدًا. وما إلى ذلك وهلم جرا…
أنظر أيضا:
https://en.wikipedia.org/wiki/IronPython[^],

[^].

لنفترض، مع ذلك، أنك تريد استخدام Python لاستهداف النظام الأساسي الأصلي. لكن DISM API والوثائق مكتوبة لاستخدام C++، لذلك تحتاج إلى بعض العمليات المتداخلة، الأمر الذي سيتطلب أيضًا فهمًا جيدًا لـ C++. يرجى الاطلاع على سبيل المثال: http://www.boost.org/doc/libs/1_42_0/libs/python/doc/tutorial/doc/html/index.html[^].

الآن، أنت حقًا بحاجة إلى بعض المساعدة فيما يتعلق بـ lib وDLL. Lib ليس مثل DLL. هذه وحدة نمطية من كود الكائن، وهي إلى حد كبير مجموعة من ملفات الكائنات في ملف واحد (وهذه هي الطريقة التي يتم بها تنفيذها في *NIX، ولكن ليس بنفس الطريقة تمامًا في Windows). وملفات obj هي ملفات كائنات من التعليمات البرمجية الأصلية التي لا تزال موجودة مرتبطة بشكل ثابت باستخدام رابط في التعليمات البرمجية القابلة للتنفيذ. لطفا أنظر:
https://en.wikipedia.org/wiki/Linker_%28computing%29[^],
https://en.wikipedia.org/wiki/Object_file[^]

[^].

مكتبة Lib هي مكتبة ثابتة، وDLL هي مكتبة مكتبة الارتباط الحيوي. تقوم المكتبات الثابتة بإدخال الرابط لإنتاج ملف قابل للتنفيذ. هذه الملفات القابلة للتنفيذ هي ملفات PE، المحمولة القابلة للتنفيذ. النقطة الأساسية الآن هي: EXE وDLL وبعض الملفات الأخرى هي ملفات PE. في الواقع، الفرق بين EXE وDLL دقيق للغاية، ولكن من المفترض أن يتم استخدام DLL كمكتبة فقط. بالمعنى الدقيق للكلمة، ليس الأمر كذلك دائمًا، وحتى EXE لا يمكن استخدامه كتطبيق، بل يمكن استخدامه حتى كمكتبة. لطفا أنظر:
https://en.wikipedia.org/wiki/Portable_Executable[^],

[^].

-سا

الحل 3

يجب عليك تمرير معلمة واحدة “/ English” للحصول على إخراج سطر أوامر dism باللغة الإنجليزية.

コメント

タイトルとURLをコピーしました