Windows 7およびSPI_GETSCREENSAVERSECURE
-
07-07-2019 - |
質問
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は76ではなく0x76です。
所属していません StackOverflow