2016-04-15 7 views
0

Ich hoffe, ein Formular mit Administrator (Domäne) Anmeldeinformationen von einem Standardbenutzer ausführen.VB.NET Führen Sie ein Formular aus einem Formular mit Administrator-Benutzernamen und Passwort

Ich glaube nicht, dass ich ein einzelnes Formular ausführen kann, ohne es zuerst als Administrator auszuführen, aber ich frage mich, ob Sie auf eine Schaltfläche in einem Formular klicken und diese Aktion ein anderes Formular mit integrierten Administrator-Anmeldeinformationen starten kann.

+0

Admin-Rechte sind pro Anwendung, nicht Formular per Formular – Plutonix

+0

Sorry - siehe, ich weiß wirklich nicht viel. Ich vermute, ich meinte Anwendung statt Form. Also könnte ich eine andere Anwendung (Formular) von einer Schaltfläche auf einer separaten Anwendung (Formular) ausführen? – bowlingbrad

Antwort

0

Kann ich eine Eingabe erhalten, ob das funktioniert? Ich habe es zusammengefügt und habe es noch nicht getestet. Es sieht so aus, als ob es eine .bat-Datei ausführt. kann das einfach in eine exe geändert werden ??

Imports System.Diagnostics 
Imports System.Security 

'Password is a SecureString that needs to be built 
Dim securePassword as New Security.SecureString() 
For Each c As Char In userPassword 
    securePassword.AppendChar(c) 
Next c 


Dim proc as ProcessStartInfo = new ProcessStartInfo() 
proc.FileName = "filelocation.bat" 
proc.WorkingDirectory = "your_working_dir" 
     proc.UseShellExecute = False 
     proc.Domain = userDomain 
     proc.UserName = userName 
     proc.Password = securePassword 
Process.Start(proc) 
+0

Stellen Sie keine Frage in einer Antwort. Aktualisieren Sie Ihre Frage oben oder erstellen Sie eine neue Frage. – MrGadget

0
Dim ProcessStartInfo As New ProcessStartInfo("C:\path\to\app.exe") 

With ProcessStartInfo 
    ' The following properties run the new process as administrator 
    .UseShellExecute = True 
    .Verb = "runas" 
    .WindowStyle = ProcessWindowStyle.Normal 
    .CreateNoWindow = False 
End With 

Try 
    ' Start the new process 
    Process.Start(ProcessStartInfo) 
Catch ex As Exception 
    ' The user did not allow the application to run as administrator 
    MessageBox.Show("Sorry, this application must be run as Administrator.", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) 
End Try 
+0

Entschuldigung, aber ich glaube nicht, dass ich das frage. Ich muss in der Lage sein, auf eine Schaltfläche in einem Formular in einer Anwendung zu klicken und über diese Schaltfläche eine andere Anwendung mit Administratorberechtigungsnachweisen zu starten. Ich möchte nicht, dass der Benutzer auf Administratoranfragen oder Warnungen hinweist. – bowlingbrad

+0

Kann ich herausfinden, ob das funktioniert? Ich habe es zusammengefügt und habe es noch nicht getestet. Es sieht so aus, als ob es eine .bat-Datei ausführt. kann das einfach in eine exe geändert werden ?? 'code' – bowlingbrad

+0

Der Code, den ich in meiner Antwort angegeben habe, würde in den Button-Click-Handler gehen und genau das tun, was du beschreibst ... der Benutzer ** wird ** dazu aufgefordert, die erhöhte Ausführung zu genehmigen, wenn sie ablehnen, ist das meine Try-Catch kommt herein ... es löst diese Ausnahme und diese MessageBox aus, alles innerhalb der App mit der Schaltfläche, auf die sie geklickt haben. Beachten Sie, dass, wenn die App, die Sie ausführen möchten, eine andere Instanz derselben App ist, der Process.Start mit einer Application.Exit ausgeführt wird, die nur erreicht wird, wenn der Benutzer die erhöhte Ausführung akzeptiert. – MrGadget

Verwandte Themen