2009-11-29 72 views
0

我遇到了C#中的SystemParametersInfo API问题。我没有问题得到屏幕保护程序超时,但是当我尝试获取“在恢复显示登录屏幕上”复选框的状态时,我始终得到虚假Windows 7和SPI_GETSCREENSAVENSECURE

[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来检索屏幕保护程序超时值。

我已经尝试从裁判UINT重写外部函数的裁判布尔,但这并不重要。

我正在使用Windows 7 x64。 MSDN是我的参数信息来源:
http://msdn.microsoft.com/en-us/library/ms724947(VS.85).asp

有没有人有线索?

回答

2

SPI_GETSCREENSAVESECURE是0x76,不是76

+0

唉唉和为此118,whoooops!日Thnx! – Zyphrax 2009-11-29 14:39:34