したがって、Windows スクリーンセーバーは、3 つのパラメーターのいずれかが渡される単なる exe です。
/c for config screen
/s for fullscreen
/p <hwnd> for the little preview window.
複数の処理を実行していることを除いて、すべてがうまく機能しています(これが問題です)。
Windows スクリーンセーバー ピッカー ウィンドウを開いて自分のスクリーンセーバーを選択すると、プレビューを表示できるように /p で起動します。設定ボタンをクリックすると、/c で私の sreensaver が再度呼び出されます。現在、2 つの処理が実行されています。ダイアログを閉じるとプロセスは終了しますが、Windows は /p でスクリーンセーバーを再度呼び出すようになりました。プロセスは積み重なっていきます。
この問題をどのように処理すればよいですか? この件に関するドキュメントはありません。誰かが以前にこれを行ったことがあることを願っています。
他のプロセスを監視して、1 つだけを実行し続けたくありません。私が見ていない解決策がなければなりません。
ありがとう
さらに調査した結果、Windows がメッセージをスクリーンセーバーに渡すことがわかりました: http://msdn.microsoft.com/en-us/library/cc144066%28v=vs.85%29.aspx
メッセージをキャッチするフィルターを設定しました。私はすべてを手に入れていますが、破壊しています。笑。保釈するように伝えるために WM_DESTROY を渡すと思います。