Может ли ShellExecute работать в активном сеансе?

У меня есть команда, которую мне нужно запустить cmd.exe, когда что-то происходит в моей программе. Допустим, команда «calc.exe». Когда я использую ShellExecute:

HWND win = GetActiveWindow();
ShellExecute(win,L"open",L"calc.exe",L"",L"", SW_SHOWNORMAL );

Процесс calc.exe запускается в сеансе 0, поэтому я не вижу его. Есть ли способ настроить его запуск в окне активных пользователей? Я не хочу использовать CreateProcess, так как у меня были проблемы с привилегиями

Спасибо

0

Решение

Нет. ShellExecute не может запустить программу в другом сеансе. Вам нужно будет использовать CreateProcessAsUser, Здесь есть множество вопросов, которые обсуждают, как это сделать.

0

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

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

По вопросам рекламы [email protected]