スクリーンセーバーの状態を撮るのにSystemParametersInfoのAPI
使っているんですけど、Win2000だとOFFでもONが
かえって来るようです。Win2000でもスクリーンセーバーの状態を
判定する方法はあるのでしょうか?
http://plaza5.mbn.or.jp/~heropa/vb34.htm
のように、.scrの拡張子を持つプロセスが動いているかチェックすればよいかと思います。
言葉足らずですいません。
スクリーンセーバにファイルが選択されているか?
いないかの情報を取得した時に、
NT4.0,Win9x ではスクリーンセーバに「なし」が設定されている時
SPI_GETSCREENSAVEACTIVEでの戻り値はFalseなのに
Win2000では「なし」でもTrueが戻ってくるのです。
デスクトップ形態の変更でApiの仕様も変わったのでしょうか?
MSDNを見ると、SPI_GETSCREENSAVEACTIVEはwin95 onlyとなっているようですね。
スクリーンセーバの設定であれば、
http://www.zdnet.co.jp/help/tips/windows/w0529.html
ここが参考になるかと。
レジストリに書き込んであるので、その部分を読めばよいはずです。
ツイート | ![]() |