	;================================================================================
	;モジュール scrsvr
	;ver 2.0
	;	スクリーンセーバー関連
	;	llmod3.hspが必要です
	;================================================================================

	; scrsvrモジュール命令一覧
	;
	; ss_running		スクリーンセーバーが作動しているかシステムに知らせる
	; ss_chgpwd		Windows標準のパスワード変更ダイアログ
	; ss_chkpwd		Windows標準のパスワードチェックダイアログ
	;
	; 計	3個


	;使い方
	;================================================================================
	; ss_running n1		スクリーンセーバーが作動しているかシステムに知らせる
	;
	;  n1 : 作動しているか、いないかのフラグ
	;================================================================================
	;
	;<>説明
	; スクリーンセーバーが作動しているかシステム(Windows)に知らせます。
	; n1に1を代入すると、システム(Windows)にスクリーンセーバーが
	; 作動中であることを知らせます。
	; n1に0を代入すると、スクリーンセーバーは作動してない、とシステムに知らせます。
	;
	; ※ n1を1にしてこの命令を実行すると、ALT+CTRL+DEL,ALT+TAB,winボタンなどの
	; キーが効かなくなります。
	; n1を1にしてこの命令を実行したら、必ずn1を0にしてもう一度この命令を実行して
	; ください。
	;
	;
	;<>この命令を呼び出した後のstatの値
	; 0		エラー
	; 上記以外	エラー無し
	;

	;================================================================================
	; ss_chgpwd		Windows標準のパスワード変更ダイアログ
	;================================================================================
	;
	;<>説明
	; Windows標準のパスワード変更ダイアログを呼び出します。
	;
	;<>この命令を呼び出した後のstatの値
	; 0		パスワードが変更された
	; 上記以外	キャンセルされた
	;

	;================================================================================
	; ss_chkpwd		Windows標準のパスワードチェックダイアログ
	;================================================================================
	;
	;<>説明
	; Windows標準のパスワードチェックダイアログを呼び出します。
	; ただし、コントロールパネルの'画面のプロパティ'で'ﾊﾟｽﾜｰﾄﾞによる保護'が
	; チェックされている場合のみです。
	;
	;<>この命令を呼び出した後のstatの値
	; 0	キャンセルされた
	; 上記以外	正確なパスワードが入力された
	;		('ﾊﾟｽﾜｰﾄﾞによる保護'がチェックされていない場合も含む)
	;

#ifdef __hsp30__

	;module始め>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	#module "scrsvr"


	;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	;ss_running
	;スクリーンセーバーが作動しているかシステムに知らせる
	;................................................................................
	#deffunc ss_running int p

	;#define SPI_SCREENSAVERRUNNING	97
	prm.1 = p
	prm.0 = 97
	getptr prm.2,s
	prm.3 = 0
	dllproc "SystemParametersInfoA",prm,4,D_USER	;succeed nonzero,falied 0
	return


	;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	;ss_chgpwd
	;Windows標準のパスワード変更ダイアログ
	;................................................................................
	#deffunc ss_chgpwd

	_get_active_window prm.1
	ll_libload dll,"mpr"
	if(dll == 0) {
		return
	}
	s = "SCRSAVE"
	getptr prm.0,s
	prm.2 = 0,0

	dllproc "PwdChangePasswordA",prm,4,dll
	;if stat!0 : dll_free dll : stt=-1 : return
	prm = stat
	ll_libfree dll

	return prm		;return 0 if password is changed, otherwise return nonzero


	;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	;ss_chkpwd
	;Windows標準のパスワードチェックダイアログ
	;................................................................................
	#deffunc ss_chkpwd

	_get_active_window prm
	ll_libload dll,"password.cpl"
	if(dll == 0) : stt = 1 : return	;dllのロードが失敗したら、パスワードはあっている
					;ものとみなす(終わらなくなるのを防ぐため)
	dllproc "VerifyScreenSavePwd",prm,1,dll
	prm = stat
	ll_libfree dll
	return prm		;パスワードがあってなければ0を返す


	;module終わり>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	#global

#endif /* __hsp30__ */