Imports System.Diagnostics 'Pour la création du Process

Imports System.Security 'Pour la déclaration de la SecureString

 

Public Class Form1

 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim modepasse As String 'est une variable de type "chaîne de caractère

        modepasse = "mot de passe" 'Le mot de passe du compte utilisateur

        Dim passwd As New SecureString() 'création de la nouvelle SecureString

        Dim m As Char

        For Each m In modepasse 'Pour chaque caractère dans la variable modepasse(contenant le mot de masse)

            passwd.AppendChar(m) 'la SecureString récupère le caractère en question

        Next 'fin de l'instruction For Each

        Dim nomProg As New Process() 'Création du nouveau Process

        nomProg.StartInfo.Verb = "runas" 'lancé "en tant que"

        nomProg.StartInfo.Domain = "nom de domaine" 'nom de domaine ou nom de machine si executer avec un compte local

        nomProg.StartInfo.Password = passwd 'Le mot de passe = la SecureString

        nomProg.StartInfo.UseShellExecute = False 'Obligatoire pour que ça marche

        nomProg.StartInfo.UserName = "compte utilisateur" 'Compte utilisateur

        nomProg.StartInfo.FileName = "calc" 'Nom du programme à lancé = calculatrice

        nomProg.StartInfo.WindowStyle = ProcessWindowStyle.Normal 'pas obligatoire dans ce cas: Process lancé en fenêtre nomale

        nomProg.Start() 'Lancement du Process

    End Sub

End Class