2 Stimmen

Wie kann ich das "Als ausführen"-Formular erzwingen, wenn jemand versucht, meine .Net-Desktopanwendung auszuführen?

Ich benötige, dass das "Run As"-Formular angezeigt wird, wenn der Benutzer versucht, meine Anwendung auszuführen (C#.NET 4, auf Win XP), damit er sich problemlos als anderer Benutzer anmelden kann. Es kann entweder in der Anwendung selbst (im C#-Code) oder in einer anderen vorherigen Batch-/EXE-Datei ("Launcher") oder Ähnlichem sein. Ich habe keinen Weg gefunden, dieses Formular anzuzeigen. Wie könnte das gemacht werden?

Danke.

1voto

Pieter van Ginkel Punkte 28696

Mit in Ihrem Manifest können Sie Ihre Anwendung dazu zwingen, als Administrator ausgeführt zu werden. Dies beinhaltet jedoch nicht den RunAs-Dialog. Wenn Sie sich die Einstellungen von der Verknüpfung ansehen, sehen Sie, dass es auch dort keine Option gibt, um dies zu behandeln.

Wenn der aktuelle Benutzer administrative Rechte hat, wird die beschriebene Einstellung den Benutzer einfach auffordern, es als Administrator auszuführen. Wenn der aktuelle Benutzer jedoch diese Berechtigung nicht hat, wird der Benutzer aufgefordert, die Details eines Administratorkontos einzugeben, was meiner Meinung nach dem entspricht, wonach Sie suchen.

1voto

vcsjones Punkte 134300

Ihr bester Einsatz, wenn Sie dies tun möchten, besteht darin, einen Bootstrap-Prozess zu erstellen, der CredUIPromptForWindowsCredentials aufruft. Dadurch wird ein Dialogfeld erstellt, das den Benutzer zur Eingabe von Anmeldeinformationen auffordert. Sobald Sie ihre Anmeldeinformationen haben, verwenden Sie die Überlastung von Process.Start, die einen Benutzernamen und ein Passwort akzeptiert, die von CredUIPromptForWindowsCredentials zurückgegeben wurden. Erfordert ein wenig Interop.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X