سؤال

كيف أطلب امتيازات المسؤول أثناء وقت التشغيل حتى يتم منح المستخدم المطالبة للسماح لها أو عدم السماح بها؟

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

المحلول

هذه المعلومات مكتوبة في بيان ملف exe. يجب عليك استخدام requestedExecutionLevel الحقل (ولكن لست متأكدًا من ذلك - حاول إعداده إليه highestAvailable ومعرفة ما إذا كان يفعل ما تحتاجه). انظر على سبيل المثال هنا لمزيد من المعلومات (مقالة أقدم إلى حد ما ولكنها لا تزال صالحة): http://blogs.msdn.com/b/cjacks/archive/2006/09/08/exploring-manifests-bart-2-default-namespaces--uac-manifests-inwindows-vista.aspx

هناك أدوات في Visual Studio تتيح لك تضمين بيانك الخاص أو حتى تحريره. أيضا هناك أداة مكتوبة في بيرل ( http://metacpan.org/pod/win32::xe::Manifest ).

تحرير: انظر هذا المقال لمزيد من المعلومات: http://www.codeproject.com/articles/66259/requesting-admin-approval-at-application-start.aspx

نصائح أخرى

إذا كنت تريد ذلك استجابةً لزر ما (على سبيل المثال ، مثل "إظهار عمليات لجميع المستخدمين في مدير المهام) ، فيجب عليك إعادة تشغيل تطبيقك باستخدام الطريقة التالية

ShellExecute(0,L"runas",exepath,0,0,SW_SHOWNORMAL);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top