为屏幕保护程序设置SystemParametersInfo无法按预期运行

时间:2012-11-13 01:13:32

标签: c# dllimport screensaver

所以我有一些我正在使用的代码,它应该禁用屏幕保护程序超时

    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    private static extern bool SystemParametersInfo(
        int uAction, int uParam, ref int lpvParam,
        int flags);

    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    private static extern bool SystemParametersInfo(
        int uAction, int uParam, ref bool lpvParam,
        int flags);

SystemParametersInfo(15, Value, ref nullVar, 2);

我还有一个获取当前屏幕保护程序超时值的功能

SystemParametersInfo(14, 0, ref value, 0);

当我准备将此值设置为0以进行超时时,一旦我获得当前值,它将返回值600.

看起来好像我正在设置的值实际上是设置的。

有谁知道可能导致这种情况的原因?顺便说一下,我在Windows 7 x64机器上,而且我正在设置这个政策的域名(我相信)。

全部谢谢!

1 个答案:

答案 0 :(得分:0)

尝试将其设置为-1而不是0,也许它有效......