- - PR -
スクリーンセーバーの解除
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-04-15 02:42
VisualStudio.NET2005 (VB) の環境で、あるイベントによりスクリーンセーバーを
開始する、または解除するには、どのクラスを使用したらよいでしょうか? スクリーンセーバーは、各PCで登録されているスクリーンセーバーを採用します。 ただしスクリーンセーバーにパスワード設定されている場合は、解除しようとした ときにパスワード入力画面を表示します。パスワード設定されているかどうかとい うこともプログラム側のどのクラスで取得できるのでしょうか? [ メッセージ編集済み 編集者: ハムスター 編集日時 2007-04-15 02:45 ] | ||||||||||||
|
投稿日時: 2007-04-15 12:01
普通にプロセスとして起動してしまえば良いのではないでしょうか。
解除なんて考慮する必要はないかも。
とりあえず、.NET Framework にはありません。 Windows API としてもあるのかどうか不明です。 Windows API に SystemParametersInfo 関数というのがありますが、 これだとタイムアウトなどの時間しか取れないと思います。(たぶん) 何が目的で、このような制御をなさるおつもりかわかりませんが、よろしくないソリューションだと思います。 (起動するだけならともかく、解除する意味が良くわからないです) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2007-04-15 20:41
ちょうどそういったことをしていたところだったので。
スクリーンセーバーを起動したり抑制したりする方法については、以下の 解説が役に立つと思います。 http://support.microsoft.com/kb/403844/ja ただ、スクリーンセーバーによっては止める方法は役に立ちません。 Windows 標準のスクリーンセーバーも 3D モノはこの方法ではダメみた いですし。 止めるのはスクリーンセーバーが自主的に止まるのを待つしかないですか らね。どうしてもやりたければ、プロセス一覧から拡張子が .scr のプロセ スを KILL するという「荒技」もあります。というかそれしかなさそうです。 パスワードが設定されているかどうかはレジストリを参照するとわかります。 HKCU\Control Panel\Desktop あたりかな。 ただ
この辺にはちょっと賛成かも。 (同じことをやろうとしている自分が言うのもアレですけど) _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 | ||||||||||||
|
投稿日時: 2007-04-15 22:54
提示のサイトの方法ではカーソル位置を制御しているようですので、 この発想であれば、他にマウスのクリックをエミュレートする、 キーダウンをエミュレートするなどの方法を併用すれば、 基本的にはいけませんかね? それで止まらないスクリーンセーバーもありますのでやはり完全にとは行きませんけど。 例えば、あるスクリーンセーバーはマウス操作+Stop用ボタン押下でストップ するようなものを見たことがあります。(VAIOのある機種付属のスクリーンセーバーです) | ||||||||||||
|
投稿日時: 2007-04-16 22:02
大昔、Solaris でやりました。ので、メインの話には助言できません。 CRT の焼き付き防止のためにスクリーンセーバーを起動しますが、その端末には「受付カメラ」がついていました。受付に人が来ると(ごめん。インターホンを押すと)、カメラ ウインドウがポップアップ、同時にスクリーンセーバーを解除、と。 また、スクリーンセーバーは、自動的にも人為的にも起動できるようになっていました。 他のスレッドで、COM ポートの話をされていることから、COM ポートに接続された機器の状態変化によって、スクリーンセーバーを解除したいのかと。 _________________ |
1