我在C#中遇到SystemParametersInfo API问题。我没有问题获得屏幕保护程序超时,但当我尝试获取“恢复显示登录屏幕”的状态时复选框我总是得到 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