Код ошибки 1314 ясно показывает, что вы не активируете привилегию SE_SYSTEMTIME_NAME
, необходимую для успешной работы функции SetSystemTimeAdjustment .Пример того, как включить привилегию, вы можете найти, например, здесь .
Еще один совет.Если вы начинаете как администратор Process Explorer , вы можете проверить, какие привилегии есть у каждого процесса (вам нужен SeSystemtimePrivilege
), а какие из привилегий в настоящее время включены или отключены.
Чтобы убедиться, чтоу вас никогда не будет проблем с UAC, вы должны включить в свою программу в качестве ресурса UAC Manifest , имеющий
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
или
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Зависит от версииVisual Studio, которую вы используете, может быть только из настроек проекта («Linker» / «Файл манифеста», «Уровень выполнения UAC»)