الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حل مختلف مع الصلاحيات

بدأه NOUR ALDEEN في 14 يوليو 2011 · 8 رد · 603 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

إخواني أريد حل لمشكلة صلاحيات الـAdministrator

مع ويندوز 7

أي أريد برنامجي يشتغل مع الـAdministrator

بدون ماتظهر رسالة نعم أو لا

أي يشتغل على الأدمن دون أي رسائل وتنبيهات

وشكراً

تم تعديل هذه المشاركة بواسطة METEOR في 14 يوليو 2011 في 21:39

Be the change you want to see in the world


#2

السلام عليكم ورحمه الله وبركاته

اخي قم بتغيير الصلاحية في ملف ال app.manifest

 <requestedExecutionLevel level="asInvoker" uiAccess="false" />

قم باضافة السطر التالي


<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

uiAccess واضبط الخاصية

تم تعديل هذه المشاركة بواسطة VB Helper في 14 يوليو 2011 في 23:02

2

.:: Wish to become better and better ::.

#3

شكراً أخي مامشي الحال جربت هلشي بس لو الموضوع موضوع manifest

ماضفت الموضوع من الأول

بدي ماتطلع رسالة للمستخدم أبداً يشتغل البرنامج أدمن دون أي رسائل

−1

Be the change you want to see in the world


#4

السلام عليكم ورحمه الله وبركاته

اقتباس
بس لو الموضوع موضوع manifest

ماضفت الموضوع من الأول

اخي انصح في المرات التالية كتابة انواع الاجوبة المراد!! لأن الاعضاء ليس لهم علم بالذي تم تجربته مسبقا!!

2 −1

.:: Wish to become better and better ::.

#5

شكراً أخي على الملاحظة

لقد وجدت الحل

هذا هو الكود للإفادة

للتشغيل مع أدمن وتشغيل البرنامج بنسخة واحدة

        static void Main(string[] args)
        {
            if (getPrevInstance())
            {
                Application.Exit();
            }
            else if (!getPrevInstance())
            {
                Boolean admin = new System.Security.Principal.WindowsPrincipal(System.Security.Principal.WindowsIdentity.GetCurrent()).IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator);
                if (!admin)
                {
                    #region Run Admin
                    System.Diagnostics.ProcessStartInfo si = new System.Diagnostics.ProcessStartInfo();
                    si.FileName = Application.ExecutablePath;
                    si.WorkingDirectory = Environment.CurrentDirectory;
                    si.Verb = "runas";
                    si.UseShellExecute = true;
                    Application.Exit();
                    System.Diagnostics.Process.Start(si);
                    #endregion
                }
                else
                {
                    try
                    {
                        Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System").SetValue("ConsentPromptBehaviorAdmin", 0);
                    }
                    catch { }
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    if (args.Length == 0)
                    {
                        Application.Run(new Form1());

                    }
                }

تم تعديل هذه المشاركة بواسطة METEOR في 17 يوليو 2011 في 13:37

1 −1

Be the change you want to see in the world


#6

السلام عليكم ورحمه الله وبركاته

اخي قد فكرت في الطريقة هذه وكنت سأكتبها فتراجعت لئلا تكرر كلامك السابق!! على كل حال بالتوفيق ..

2 −1

.:: Wish to become better and better ::.

#7

السلام عليكم

شكراً لك أخي على كل الأحوال

وبارك الله فيك

Be the change you want to see in the world


#8

السلام عليكم ورحمه الله وبركاته

اخي ألاحظ -1 في مشاركاتي!! هذا مجرد انتقاد من أخ لك ارجو ان تتقبله وإلا فلن تجد احد يتجاوب معك اذا ساعدك ولاحظ رورد مثل ردودك السابقة!!

3

.:: Wish to become better and better ::.

#9

شكراً أخي

Be the change you want to see in the world


مواضيع مشابهة