プログラミング/スクリーンセーバー作成/引数
スクリーンセーバーは起動時の引数で動作モードが切り替わります。
なので、引数の内容によって異なる動作を行うように作成しなくてはいけません。
引数のパターンは以下のとおり。
ちなみに、NT 系の OS においてはパスワードは OS 標準のロック画面を使うことになるため、基本的には使われないはず。
(なので今回は未サポートとします。.NET Framework 3.5 は 9x 系 OS サポートしてませんし。)
なので、引数の内容によって異なる動作を行うように作成しなくてはいけません。
引数のパターンは以下のとおり。
ちなみに、NT 系の OS においてはパスワードは OS 標準のロック画面を使うことになるため、基本的には使われないはず。
(なので今回は未サポートとします。.NET Framework 3.5 は 9x 系 OS サポートしてませんし。)
- /S: 実行
- /C: 設定画面の表示
- /P: プレビューモード
- /A: パスワードの設定
- なし: 設定画面の表示(/Cと同様)
1, /S: 実行
全画面でスクリーンセーバーとして動作します。
2, /C or なし: 設定画面の表示
設定ウィンドウを呼び出しましょう。
(別に設定用ウィンドウを作成しておく。今回は別ページにて補足します。)
渡される形式は"/C:********"で、「********」の部分でスイッチに引き続き親ウィンドウとなる「画面のプロパティ」のウィンドウハンドルを渡してきます。
このハンドルを使って、設定画面が「画面のプロパティ」以後に回りこまないようにする必要があります。
(別に設定用ウィンドウを作成しておく。今回は別ページにて補足します。)
渡される形式は"/C:********"で、「********」の部分でスイッチに引き続き親ウィンドウとなる「画面のプロパティ」のウィンドウハンドルを渡してきます。
このハンドルを使って、設定画面が「画面のプロパティ」以後に回りこまないようにする必要があります。
3, /P: プレビューモード
引数にプレビュー用画面のウィンドウハンドルが含まれてくるので、それを使って描画します。
(詳しくは別ページにて説明します。)
渡される形式は第一引数が"/P"、第二引数が"********"の形式で、「********」がウィンドウハンドルです。
(詳しくは別ページにて説明します。)
渡される形式は第一引数が"/P"、第二引数が"********"の形式で、「********」がウィンドウハンドルです。
4, /A: パスワードの設定
未サポートの旨をダイアログで表示します。
このスイッチも第2引数で親ウィンドウ(「画面のプロパティ」)のウィンドウハンドルを渡してくるので、本来ならば C スイッチと
同じく画面が後ろに回らないよう処理する必要があります。
今回は A スイッチ自体が未サポートになるため、特に処理を行いません。
渡される形式は第一引数が"/P"、第二引数が"********"の形式で、「********」がウィンドウハンドルです。
このスイッチも第2引数で親ウィンドウ(「画面のプロパティ」)のウィンドウハンドルを渡してくるので、本来ならば C スイッチと
同じく画面が後ろに回らないよう処理する必要があります。
今回は A スイッチ自体が未サポートになるため、特に処理を行いません。
渡される形式は第一引数が"/P"、第二引数が"********"の形式で、「********」がウィンドウハンドルです。
なお、ウィンドウハンドルはすべて「数字の文字列」で渡ってきますので、実際に利用する際は数値への変換を忘れずに。
コードのサンプルは省略します。
(基本的には単純明快ですので。内容的には Program.cs などにある Main() 内で、Application.Run(~) 周辺を変更するのみです。)
(基本的には単純明快ですので。内容的には Program.cs などにある Main() 内で、Application.Run(~) 周辺を変更するのみです。)