Quali sono i diritti di accesso predefiniti per un processo avviato con ShellExecuteEx?
-
23-09-2019 - |
Domanda
Ho bisogno di eseguire determinate operazioni su un processo avviato con ShellExecuteEx
- come in attesa di essa, la duplicazione di maniglie, interrogazione e informazioni di impostazione, ecc Ora mi chiedo se posso fare tutte queste cose sul membro hProcess
che viene restituito nella struttura SHELLEXECUTEINFO
I pass per ShellExecuteEx
. Qualcuno lo sa?
Fa il processo che chiama ShellExecuteEx
hanno diritti come PROCESS_DUP_HANDLE
, SYNCHRONIZE
, PROCESS_SET_INFORMATION
, PROCESS_QUERY_INFORMATION
(e così via) per impostazione predefinita, quando si utilizza il hProcess
tornato?
Soluzione
direi che è lo stesso di quello che si ottiene da CreateProcess, sebbene anche che la documentazione non dice (oserei PROCESS_ALL_ACCESS). In ogni caso, si può sempre fare GetProcessId () e OpenProcess () per aprirlo con qualsiasi accesso necessario.
Altri suggerimenti
Sì. Il tempo online è necessario preoccuparsi di diritti di accesso è se si fa qualsiasi attività che innescano l'UAC, allora è necessario impostare il requestedExecutionLevel= 'highestAvailable'