HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0328
GrapeColor画面出力停止(?)13解決


GrapeColor

リンク

2011/3/28(Mon) 17:24:24|NO.37944

HSPで画面の電源をつけても何も表示されない(NO SIGNAL)状態にしたいのですが。
HSPでそのようなことができますか?
ご回答お待ちしておりますm(_ _)m



この記事に返信する


Cookies

リンク

2011/3/28(Mon) 18:33:58|NO.37949

NO SIGNALって、シグナルが無い時にしか表示されないのではないですか?
パソコンの電源を落とすか、パソコンとディスプレイの接続を切らなきゃ無理な気がします。
(無理じゃなかったとしてもだいぶ高度なのではないかなーと。)
そこまではいきませんが。

#define HWND_BROADCAST -1 #define WM_SYSCOMMAND $0112 #define SC_MONITORPOWER $F170 #define MONITOR_OFF 2 #define MONITOR_ON -1 sendmsg HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, MONITOR_OFF
モニタの電源は切れます。
マウス動かすとまた電源入っちゃうので、マウスの動き停止をClipCursorでしたら上手くいくかもしれません。
http://msdn.microsoft.com/ja-jp/library/cc410663.aspx



GrapeColor

リンク

2011/3/28(Mon) 18:48:03|NO.37950

できれば復帰方法をキーボードにしたいのですが、可能でしょうか?



Cookies

リンク

2011/3/28(Mon) 18:57:11|NO.37951

そのまま実行すれば、キーボードで復帰してしまいます。
逆にどうやれば復帰しないようにできるかというくらいです。



GrapeColor

リンク

2011/3/28(Mon) 19:52:36|NO.37953

キーボードだけで^^;
すいません><



Cookies

リンク

2011/3/28(Mon) 20:35:42|NO.37955

無理でした。ClipCursor。
あれって範囲外に動いたら元に戻すだけで本当に動かせなくなるわけじゃないんですね。
マウスの動き監視するのと大差ないじゃないか!

キーボードだけ、といっても本当にキーボードだけにはできないでしょうから、
ほかのものを一つずつ防いでいくしかないと思います。
ですので入力装置をあげていけば、誰かが回答してくれるかも。
まずマウスについては僕が今調査中です。



Cookies

リンク

2011/3/29(Tue) 12:18:53|NO.37970

マウスでの復帰を止めるには、
マウスのデバイスを無効にするのが一番手っ取り早いようです。
そのためには管理者権限も必要だし、
いろいろ不都合な点はあるでしょうがそれくらいしか方法が…

http://hsp.tv/play/pforum.php?mode=all&num=37117
ここにマウスのデバイス情報取得スクリプトがあります。
これを参考にどうにかすればできるでしょう。

僕も引き続き頑張ってみます。



Cookies

リンク

2011/3/29(Tue) 15:33:20|NO.37988

いろいろと調べました。
WMIにWin32_PointingDeviceというクラスがあって、
その中にSetPowerStateという名のメソッドがあるんですよね。

第一引数に6をいれればマウス操作をストップできるのでしょうが、
第二引数のdatetime型Timeはどうやればいいのでしょう?
そのまま数値入れると"種類が一致しません"って怒られます。
(実はHSPでcomからWMIを直接触るのは諦めて、VBScriptをcomで実行させようかなと思ってたんですけど。)

SetPowerState : http://msdn.microsoft.com/en-us/library/aa393485(v=vs.85).aspx
http://www.wmifun.net/library/win32_pointingdevice.html



win5126

リンク

2011/3/29(Tue) 16:31:12|NO.37994

思うんだけどさ、NO SIGNALを自作すればいいじゃないか?



Cookies

リンク

2011/3/29(Tue) 16:36:39|NO.37995

なんかだいぶ回り道していたようです。
よく考えれば、前のって電源ですよね。
今Win32_SystemDriverについて調べてます。
DDKインストール中です。
DevConていうデバイスマネージャ的コマンドラインユーティリティのソースのため。

>>win5126
 そ、それは…
 確かに。



GrapeColor

リンク

2011/3/29(Tue) 18:37:18|NO.37997

>>win5126
つまりどういうことですか?
まさかフルスクリーンの中にNO SIGNALの文字を描かせるなんて方法じゃないですよね?



Cookies

リンク

2011/3/29(Tue) 19:10:25|NO.37999

>>GrapeColorさん
> >>win5126
> つまりどういうことですか?
> まさかフルスクリーンの中にNO SIGNALの文字を描かせるなんて方法じゃないですよね?
 僕はそういう意味で取りました。きっと本人もそう思ってるのでしょうね。
 確かにとっても簡単ですよ。これから書くものよりずっと。
 
 devconはとっても参考になりそうでした。
 一生懸命理解しようとしましたが、疲れました。とにかく英語が多いんですよ。
 http://blogs.msdn.com/b/jpwdkblog/archive/2009/07/15/setupdi-api-devcon-setupdi-api.aspx
 ここにdevconについて詳しく書いてあります。
 その中の流れの「独自の処理」ではSetupDiSetClassInstallParamsとSetupDiGetDeviceInstallParamsを使ってました。(MSDNのこのAPIの説明も英語ですww)
 全体的にSetDi系APIを使えばできるようです。
 devconをダウンロードすることをお勧めします。Cがそれなりに読め、なおかつやる気があるのであれば。devconについてhttp://support.microsoft.com/kb/311272/ja
 あとは頑張ってください。
 もっと簡単なデバイス無効化方法はあるのかもしれませんが。
 
 もしだったら、devcon.exeを直接起動したほうがよいかもしれません。
 devconのコピペでDLL作るのもどうでしょう?(僕は著作権とかは一切知りません。)
 
>>win5126さん
 さっきのレスでは呼び捨てしてしまいました。
 わざとじゃないんですよ。すいません。



win5126

リンク

2011/3/29(Tue) 20:57:20|NO.38000

>Cookiesさん
問題ありません!!
そういう事です
Boxfを駆使してNOシグナルを描画するんです
モニタの電源OFfではNoシグナルはでませんし
↑間違ってたらすいません



GrapeColor

リンク

2011/3/30(Wed) 13:16:09|NO.38017

どうやらかなり難しそうですね諦めます



ONION software Copyright 1997-2023(c) All rights reserved.