Domanda

Sto riscontrando un problema con l'API SystemParametersInfo in C #. Non ho problemi a ottenere il timeout dello screensaver, ma quando provo a ottenere lo stato di " On riprendi visualizzazione schermata di accesso " casella di controllo Ottengo sempre 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);
}

Il risultato sarà sempre 0, tuttavia vedo il valore del Registro di sistema cambiare da 1 a 0 (ma non riesco a utilizzare il valore del Registro di sistema, poiché l'impostazione tramite il Registro di sistema causerebbe l'elaborazione della mia nuova impostazione solo dopo la disconnessione ).

È possibile utilizzare il valore 14 per recuperare il valore di timeout dello screensaver.

Ho già provato a riscrivere la funzione esterna da un ref uint a un ref bool , ma non importa.

Sto usando Windows 7 x64. MSDN è la mia fonte per le informazioni sui parametri:
http://msdn.microsoft.com/en-us /library/ms724947(VS.85).asp

Qualcuno ha un indizio?

È stato utile?

Soluzione

SPI_GETSCREENSAVESECURE è 0x76, non 76.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top