Процесс вашего приложения не имеет соответствующего уровня привилегий. Вот что говорит вам исключение безопасности.
Простое исправление - запросить это разрешение при запуске приложения. Вы можете сделать это, изменив манифест своего приложения так, чтобы requestedExecutionLevel
был установлен на requireAdministrator
.
Полный раздел, добавленный в манифест вашего приложения, будет выглядеть примерно так:
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
Существуют потенциально лучшие альтернативы, если ваше приложение не , в противном случае требуются административные привилегии, потому что вы всегда должны работать с самым низким уровнем привилегий, который абсолютно необходим или необходим. Вы можете исследовать эти альтернативы с помощью Google; он будет включать в себя выделение отдельного процесса, который запрашивает повышение уровня UAC и запускает счетчик производительности по явному запросу пользователя.