スクリーン セーバーの設定を動的に変更する

スクリーン セーバーの待ち時間を変更することはできますか (Microsoft)

  • 以下でアップデートするといいとの記載があるも、うまく反映できません

%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters

  • 結局は以下参考にプログラムになりましたとさ・・

[メモ]スクリーンセーバの設定を変える (あら〜んの雑文)

  • ちなみに引数の順番に注意

SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT, 0, scrsavetime_new, SPIF_UPDATEINIFILE)
 ↓
SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT, scrsavetime_new, 0, SPIF_UPDATEINIFILE)

2015/03/03

  • リンク先がなくなっているので、当時書いてもらったやつのソースを追加
#include <windows.h>

// --------------------------------------------------------------------
// メイン
//  引数:スクリーンセイバー待ち時間[秒]
// --------------------------------------------------------------------
int main(int argc, char* argv[]) {
	BOOL rc;
	UINT value;
	char msg[256];
	int errno;

	value = atoi(argv[1]);
	//printf("%d\n",value);

	// スクリーンセーバの待ち時間設定変更
	rc = SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT, value, 0, SPIF_UPDATEINIFILE);
	if (rc == 0) {
           // エラー処理
	} else {
     // 成功時処理
		return(0);
	}
}