Question

Je rencontre un problème avec l'API SystemParametersInfo en C #. Je n'ai aucun problème à obtenir le délai d'expiration de l'écran de veille, mais lorsque j'essaie d'obtenir l'état de l'écran de connexion "Affichage de reprise", case à cocher Je reçois toujours 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);
}

Le résultat sera toujours 0, mais je vois la valeur de registre changer de 1 à 0 (mais je ne peux pas utiliser la valeur de registre, car la définir via le registre entraînerait le traitement de mon nouveau paramètre uniquement après la fermeture de session. ).

Vous pouvez utiliser la valeur 14 pour récupérer la valeur de délai d'attente de l'économiseur d'écran.

J'ai déjà essayé de réécrire la fonction externe d'un réf uint vers un ref bool , mais cela n'a pas d'importance.

J'utilise Windows 7 x64. MSDN est ma source pour les informations de paramètre:
http://msdn.microsoft.com/en-us /library/ms724947(VS.85).asp

Quelqu'un at-il un indice?

Était-ce utile?

La solution

SPI_GETSCREENSAVESECURE est 0x76, pas 76.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top