Здравствуйте, maks1180, Вы писали:
M>OS: Windows Vista M>Работает одна сессия (user1) простого пользователя, в нем запущено 2 процесса
M>процесс №1 работает под аккаунтом maxim (администраторский аккаунт), т.е. был запущен с галочкой admin M>процесс №2 работает под аккаунтом user1 (простого пользователя аккаунт)
M>Процесс №1 пытает внедриться в процесс №2, так он работает под администратором почему бы и нет...
M>// pid — процесс №2
M>::OpenProcess(PROCESS_VM_READ|PROCESS_VM_OPERATION, FALSE, pid); // Выдает ошибку 5 M>::OpenProcess(PROCESS_VM_READ|PROCESS_QUERY_INFORMATION, FALSE, pid); // Выдает ошибку 5 M>::OpenProcess(PROCESS_VM_READ, FALSE, pid); // Нормально завершается
M>В чем причина ошибки 5 (access denied) ???
To open a handle to another another local process and obtain full access rights, you must enable the SeDebugPrivilege privilege. For more information, see Changing Privileges in a Token.