Wie führe ich unter Windows als Administrator ein GUI-Programm mit einem Benutzerkonto aus?

Wie führe ich unter Windows als Administrator ein GUI-Programm mit einem Benutzerkonto aus?

Ich erstelle ein Testprogramm namens ResourceManager (RMTest), das versucht, auf ein Bild „resource.jpg“ im selben Verzeichnis zuzugreifen.

Für resource.jpg ist der Zugriff für alle Nicht-Administratorkonten auf meinem System auf „Verweigert“ eingestellt, um sicherzustellen, dass der Benutzer die Datei nicht direkt anzeigen kann.

RMTest ist ein Formular zur Kennwortabfrage mit einem fest codierten Kennwort, das es prüft. Bei einer Übereinstimmung öffnet es ein anderes Formular mit einem Picturebox-Steuerelement, das das Bild öffnet.

Ich möchte normalen Benutzern erlauben, dieses Programm als Administrator auszuführen, hoffentlich mit den folgenden Einschränkungen:

  1. Der Benutzer darf während der Ausführung des Programms nicht auf den Speicher zugreifen.

  2. Der Benutzer darf nicht über den Disassembler/Hex-Editor auf die Anweisungen des Programms zugreifen.

Im Gegenzug erwarte ich, dass das Programm über dieses Programm indirekt Zugriff auf die Ressource gewährt.

Ich weiß, dass dies unter Linux problemlos möglich ist, aber unter Windows habe ich nur zwei Lösungen gefunden, die nicht funktionieren:

  1. Verwenden des Taskplaners, der das Programm mit Administratorrechten ausführt, wenn eine Batchdatei „schtasks /run /TN „RMTest““ ausgeführt wird.

Anscheinend kann ich eine Formularanwendung nicht mit dem Konto eines anderen Benutzers ausführen als dem, der die Aufgabe erstellt hat.

  1. C:\Windows\System32\runas.exe /Benutzer:MEINPCNAME\Administrator /savecred "C:\RMTest\ResourceManager.exe"

Dies wird ausgeführt, führt jedoch zu derselben Ausnahme, als ob keine Rechte gewährt worden wären.


Gibt es eine Möglichkeit, dies unter Windows zu tun, und wenn ja, wie?

verwandte Informationen