Вопрос

У меня проблема с API-интерфейсом SystemParametersInfo в C #. У меня нет проблем с получением тайм-аута заставки, но когда я пытаюсь получить состояние " При возобновлении отображать экран входа в систему " Флажок Я всегда получаю false .

[DllImport("user32.dll", EntryPoint = "SystemParametersInfo")]
private static extern bool SystemParametersInfo(uint uiAction, uint uiParam, ref uint pvParam, uint fWinIni);

public void Test() {
    uint result = 0;
    SystemParametersInfo(76, 0, ref result, 0);
}

Результат всегда будет равен 0, однако я вижу, что значение реестра изменяется с 1 на 0 (но я не могу использовать значение реестра, поскольку его установка через реестр приведет к тому, что мои новые параметры будут обработаны только после выхода из системы). ).

Вы можете использовать значение 14 для получения значения времени ожидания заставки.

Я уже пытался переписать внешнюю функцию из ref uint в ref bool , но это не имеет значения.

Я использую Windows 7 x64. MSDN мой источник информации о параметрах:
http://msdn.microsoft.com/en-us /library/ms724947(VS.85).asp

У кого-нибудь есть подсказка?

Это было полезно?

Решение

SPI_GETSCREENSAVESECURE - 0x76, а не 76.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top