Каковы права доступа по умолчанию для процесса, запущенного с ShellExecuteEx? - PullRequest
0 голосов
/ 01 апреля 2010

Мне нужно выполнить определенные операции над процессом, запущенным с ShellExecuteEx - например, его ожидание, дублирование дескрипторов, запрос и установка информации и т. Д. Теперь мне интересно, могу ли я сделать все эти вещи на элементе hProcess, который возвращается в структуре SHELLEXECUTEINFO, которую я передаю ShellExecuteEx. Кто-нибудь знает это?

Имеет ли процесс, который вызвал ShellExecuteEx, такие права как PROCESS_DUP_HANDLE, SYNCHRONIZE, PROCESS_SET_INFORMATION, PROCESS_QUERY_INFORMATION (и т. Д.) По умолчанию при использовании возвращенного значения hProcess?

Ответы [ 2 ]

0 голосов
/ 01 апреля 2010

Я бы предположил, что это то же самое, что вы получаете от CreateProcess, хотя даже эта документация не говорит (я бы рискнул PROCESS_ALL_ACCESS). В любом случае вы всегда можете использовать GetProcessId () и OpenProcess (), чтобы открыть его с любым доступом.

0 голосов
/ 01 апреля 2010

Да. В режиме онлайн вам нужно беспокоиться о правах доступа, если вы выполняете какое-либо задание, которое запускает UAC, вам нужно установить requestedExecutionLevel= 'highestAvailable'

...