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