Итак, это странно.Приложение C++/CLR, которое запускает процесс и вставляет в него DLL, работает только тогда, когда не запускается как admin
У меня есть приложение .NET, которое загружает C++/CLR DLL, которое, в свою очередь, запускает процесс (используя CreateProcess) и вставляет в него DLL (с использованием метода удаленных потоков). Однако вновь созданный процесс (который является игрой) имеет совершенно разные текстуры, когда вы запускаете приложение .NET как администратор, и когда вы вызываете его как обычного пользователя. Его текстуры содержатся в файлах внутри корневого каталога игры. Мой код создания процесса отлично работает, если я создаю его как отдельную программу - без CLR - и запустим ее, так что этого не может быть.
Что может быть причиной этого? Я не уверен, что это не игра с игрой. Каталог, в котором читается материал, является только администратором, поэтому, естественно, запускает приложение .NET, поскольку администратор должен предоставить мне доступ. Но я получаю прямо противоположное - он работает только тогда, когда я запускаю его без прав администратора.
Вы говорите, что игровая папка должна быть полностью недоступна без прав администратора? – Baldrick
На самом деле, нет, что-то еще более странное. Я только что дал всем пользователям все права доступа к папке, и я получаю то же самое. –
Любое использование каталогов TEMP или других папок, которые могут отличаться в зависимости от пользователя, запускающего приложение? – Baldrick