منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[مثال] تشغيل البرنامج كمسؤول - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [مثال] تشغيل البرنامج كمسؤول (/showthread.php?tid=50517)



تشغيل البرنامج كمسؤول - alswade - 24-10-24

كيفيه جعل البرنامج يعمل بصلاحيات المستخدم دون الضغط على يمين الماوس واختيار خيار Run as administrator


RE: تشغيل البرنامج كمسؤول - asmarsou - 25-10-24

بعد اذن صاحب السؤال و الاخوه المشاركين
يبقى السؤال قائما فهل هناك طريقة ما لفتح تطبيق كمسؤول ضمنيا يعني دون كلك يمين  ودون الطريقة في موضوع الجواب اي دون ظهور تلك النافذة لتاكيد تشغيله كمسؤول
ام لا
وكاضافة هذه طريقة اخري تفضي الى نفس النتيجة
كود :
Imports System.Security.Principal
Imports System.Reflection
Imports Application_Admin_Relauncher.AdminRelauncher
Public Class Form1

   Public Function IsUserAdministrator() As Boolean ' للتاكد ان التطبيق يشتغل في وضغ مسؤول او عدمه
       Try
           Dim user As WindowsIdentity = WindowsIdentity.GetCurrent
           Dim principal As WindowsPrincipal = New WindowsPrincipal(user)
           Return principal.IsInRole(WindowsBuiltInRole.Administrator)
       Catch ex As System.Exception
           Return False
       End Try

   End Function
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       RelaunchIfNotAdmin()
       
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       MsgBox(IsUserAdministrator)
   End Sub
End Class
Public Class AdminRelauncher

   Public Shared Sub RelaunchIfNotAdmin()
       If Not AdminRelauncher.RunningAsAdmin Then
           MsgBox("Running as admin required!")
           Dim proc As ProcessStartInfo = New ProcessStartInfo
           proc.UseShellExecute = True
           proc.WorkingDirectory = Environment.CurrentDirectory
           proc.FileName = Assembly.GetEntryAssembly.CodeBase
           proc.Verb = "runas"
           Try
               Process.Start(proc)
               Environment.Exit(0)
           Catch ex As Exception
               MsgBox(("This program must be run as an administrator! " & vbLf & vbLf + ex.ToString))
               Environment.Exit(0)
           End Try

       End If

   End Sub

   Private Shared Function RunningAsAdmin() As Boolean
       Dim id As WindowsIdentity = WindowsIdentity.GetCurrent
       Dim principal As WindowsPrincipal = New WindowsPrincipal(id)
       Return principal.IsInRole(WindowsBuiltInRole.Administrator)
   End Function
End Class



RE: تشغيل البرنامج كمسؤول - aliday03 - 30-10-24

السلام عليكم 
الحل سهل من داخل الفيجوال استوديو
انظر الصور في المرفقات