Я делаю тестовую программу под названием ResourceManager(RMTest), которая пытается получить доступ к изображению «resource.jpg» в том же каталоге.
У resource.jpg есть доступ, запрещающий доступ ко всем учетным записям без прав администратора в моей системе, что гарантирует, что пользователь не сможет просмотреть его напрямую.
RMTest - это форма запроса пароля, в которой есть жестко заданный пароль, который он проверяет, и, если он совпадает, он открывает другую форму с элементом управления Picturebox, который открывает изображение.
Я хочу позволить обычным пользователям запускать эту программу от имени администратора, надеюсь, со следующими ограничениями:
пользователю не разрешен доступ к памяти программы во время ее выполнения.
пользователю не разрешен доступ к инструкциям программы через дизассемблер / шестнадцатеричный редактор.
В свою очередь, я ожидаю, что программа косвенно предоставит доступ к ресурсу через эту программу.
Я знаю, что это легко сделать в Linux, но в Windows я нашел только два решения, которые не работают:
- используя планировщик задач, который запускает программу с правами администратора, когда командный файл запускает 'schtasks /run /TN "RMTest"'
Кажется, я не могу запустить приложение формы в учетной записи другого пользователя, чем тот, который создал задачу.
- C:\Windows\System32\runas.exe / пользователь:MYPCNAME\Administrator / savecred "C:\RMTest\ResourceManager.exe"
Это работает, но дает то же исключение, как если бы никаких прав не было предоставлено.
Есть ли способ сделать это в Windows, и если да, то как?