كيف يمكنني نسخ ملف بمثابة "المعيار المستخدم" في ويندوز فيستا (أي "إداري اختيار التطبيق") دفع المستخدم admin اعتماده ؟

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

سؤال

لدي ما UAC التنمية أدلة تشير إلى أنها "الإدارية تطبيق الاختيار." إذا كنت على دراية ما هو هذا انتقل إلى القسم التالي.

الخلفية:

أنا أريد أن أترك "المعيار" المستخدم القدرة على تحديد/إلغاء تحديد المدى على خيار بدء التشغيل في تفضيلات التطبيق الخاص بي.

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

لذا ، ما أود هو "التحكم في حساب المستخدم الاعتماد الفوري" تظهر أن الطريق إذا كان المستخدم لديه حساب المسؤول أيضا أنها يمكن أن تضع في التفويض.هذا هو على ما يبدو كيف التطبيقات من المفترض أن تكون مصممة لإبقاء المستخدم من الحاجة إلى التبديل إلى حساب آخر في كل مرة تحتاج أن تفعل شيئا الإدارية.

مقتطفات من وثائق MSDN:

إداري تطبيق الاختيار

مرتفعة عملية أو كائن COM

الأولى تطلق التطبيق دون الحاجة إلى الارتفاع.تلك العناصر في واجهة المستخدم التي تتطلب الوصول الإداري المميز زينت مع رمز الدرع لتحديد الهوية.هذا الديكور يشير إلى المستخدم باستخدام هذه الميزة سوف تتطلب موافقة المسؤول.عندما يقوم التطبيق بالكشف عن أن أحد هذه الأزرار تم اختيار التالية خيارين.

  • تطبيق تطلق البرنامج الثاني باستخدام ShellExecute() لأداء المهام الإدارية.هذا البرنامج الثاني سيكون ملحوظ مع requestedExecutionLevel من requireAdministrator ، مما تسبب للمستخدم أن يطلب منك الموافقة.هذا ثاني برنامج تشغيل كامل الإدارية رمز وصول وسوف تكون قادرة على أداء المهمة المطلوبة.-أو-
  • تطلق التطبيق كائن COM باستخدام CreateElevatedComObject().هذا API إطلاق كائن COM مع كامل الإدارية رمز وصول التالية الموافقة على هذا كائن COM سوف تكون قادرة على أداء المهمة المطلوبة.

أنا فقط بحاجة إلى نسخ ملف...يبدو المفرط إلى مفترق عملية جديدة باستخدام ShellExecute() وأنا لا أعرف ما يكفي عن كوم أن أعرف ما إذا كنت يمكن استخدامه لنسخ الملف.أنا آمل شخص يمكن إضافة بعض التعليمات البرمجية التي توفر طريقة نسخ الملف من الناحية المثالية أيضا شرح كيفية تزيين MenuItem مع "الدرع الديكور".

ملاحظات:

لقد بحثت في UAC Demo توفيرها من قبل microsoft الذي هو مذكور في عدة ستاكوفيرفلوو المشاركات مثل (طلب ويندوز فيستا UAC الارتفاع إذا كان المسار هو محمية ؟ ) حول مواضيع تتعلق الأذونات.رمز فقط مثال استدعاء عملية منفصلة.

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

المحلول 2

انتهى الذهاب في اتجاه مختلف.كان لي المثبت إنشاء بدء تشغيل الاختصار في جميع المستخدمين/مجلد بدء التشغيل التي يمر حجة على تطبيق "بدء التشغيل".

عند بدء تشغيل التطبيق سوف تحقق من وجود arg[0].يساوي("بدء التشغيل") ومن ثم تحقق إذا Settings1.الافتراضي.RunOnStartup == صحيح.

إن كل الظروف كانت صحيحة أريد الخروج من التطبيق على الفور.عند بدء تشغيل التطبيق دون أن الحجة (أي القائمة "ابدأ" مجموعة البرامج), تطبيق تحميل بشكل طبيعي.

على RunOnStartup الإعداد المستخدم راقب الإعداد لذلك كل مستخدم يمكن تغيير دون إحداث الآخرين.

نصائح أخرى

على الرغم من أنه لا يزال يظهر أن تشمل على الأقل إعادة تشغيل أو التفريخ عملية, يمكنك أن تجد بعض المساعدة هنا:UAC درع الارتفاع في CodeProject.com

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