Quais são os direitos de acesso padrão para um processo iniciado com ShellExecuteEx?
-
23-09-2019 - |
Pergunta
Preciso realizar determinadas operações em um processo iniciado com ShellExecuteEx
- como esperar por isso, duplicar identificadores, consultar e configurar informações, etc.Agora estou me perguntando se posso fazer todas essas coisas no hProcess
membro que é retornado no SHELLEXECUTEINFO
estrutura para a qual passo ShellExecuteEx
.Alguém sabe disso?
O processo que chamou ShellExecuteEx
ter direitos como PROCESS_DUP_HANDLE
, SYNCHRONIZE
, PROCESS_SET_INFORMATION
, PROCESS_QUERY_INFORMATION
(e assim por diante) por padrão, ao usar o retornado hProcess
?
Solução
Eu acho que é o mesmo que você obtém do CreateProcess, embora mesmo essa documentação não diga (eu iria aventurar o processo_all_access). De qualquer forma, você sempre pode fazer getProcessId () e OpenProcess () para abri -lo com qualquer acesso necessário.
Outras dicas
Sim.O momento on-line em que você precisa se preocupar com os direitos de acesso é se você realizar alguma tarefa que acione o UAC, então será necessário definir o requestedExecutionLevel= 'highestAvailable'