Syntaxe :
1° Argument : Chemin d'accès complet du programme à lancer (Obligatoire)
2° Argument : Dans le cas où si éventuellement des arguments doivent être utilisés (Facultatif)
Elevation_Privilege_Prgm("C:\Windows\System32\cmd.exe", "/k dir D:\")
Copies écran :
C:\Windows\System32\cmd.exe sans élévation de privilège
C:\Windows\System32\cmd.exe avec élévation de privilège (lancé avec la fonction)
Fonction :
Sub Elevation_Privilege_Prgm(ByVal Prog As String, Optional ByVal arg As String = "")
' Vérifie si l'application est exécuté en tant qu'administrateur
' Ce qui revient au même de vérifier si le compte est Administrateur
' car seul un compte Administrateur peut exécuter une application en
' tant qu'administrateur
If My.User.IsInRole(ApplicationServices.BuiltInRole.Administrator) Then
Dim Pr As New Process
If My.Computer.FileSystem.FileExists(Prog) = False Then
MsgBox("Désolé, le chemin d'accès du programme que vous souhaitez lancer n'existe pas !!!")
Exit Sub
End If
Pr.StartInfo.FileName = Prog
Pr.StartInfo.Arguments = arg
Pr.StartInfo.UseShellExecute = False
Pr.StartInfo.Verb = "runas"
Pr.Start()
Else
MsgBox("L'application doit être exécutée en tant qu'administrateur")
End If
End Sub
++
Fauve