CreateProcessAsUser: как открыть файл с приложением по умолчанию?

Я использую CreateProcessAsUser в коде C ++, чтобы открыть приложение, выдавая себя за пользователя. Это хорошо работает, если дан исполняемый файл, но происходит сбой с неисполняемым файлом.

Какой самый простой способ открыть неисполняемые файлы с помощью приложения по умолчанию с CreateProcessAsUser.

Мне нужно решение Другой чем через:

cmd.exe /S /C ""path_to_my_file""

0

Решение

Самое простое решение заключается в следующем:

  1. Из первоначального процесса, процесс А скажем, использовать CreateProcessAsUser чтобы создать новый процесс, процесс B, скажем. Процесс B запускается от имени другого пользователя.
  2. Перейдите к аргументам командной строки процесса B, которые указывают файл, который вы хотите открыть.
  3. Из процесса Б вызов ShellExecute или же ShellExecuteEx открыть другой файл.
2

Другие решения

Других решений пока нет …