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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
1002
HSP 超初心者HSPでブルーライトカット4解決


HSP 超初心者

リンク

2019/10/2(Wed) 17:11:21|NO.88558

とあるサイトを参考にして、ブルーライトカットのソフトを作ったのですが...

 
#uselib "user32.dll" #func GetWindowLongA "GetWindowLongA" int , int #func SetWindowLongA "SetWindowLongA" int , int , int #func SetLayered "SetLayeredWindowAttributes" int , int , int , int bgscr 0,1920,1080,0,0,0 title "ブルーライトカット" GetWindowLongA hwnd , -20 SetWindowLongA hwnd , -20 , stat | 0x00080000 SetLayered hwnd , 0 , 50 , 2 color 0,0,255 : boxf 0,0, stop

これでは、操作できません。
どうすればいいでしょうか。



この記事に返信する


HSP 超初心者

リンク

2019/10/2(Wed) 17:13:40|NO.88559

汚いスクリプトでごめんなさい😢



沢渡

リンク

2019/10/2(Wed) 18:02:08|NO.88560

「これでは、操作できません」の意味がよくわからないのですが、
枠無しの半透明ウィンドウで画面全体を覆い、
ウィンドウの裏側のアイテムを操作できるようにしたいということでしょうか?
拡張ウィンドウスタイルのWS_EX_TRANSPARENT(0x20)を追加してみましたが、
こんな感じで良いでしょうか?

#uselib "user32.dll" #func GetWindowLongA "GetWindowLongA" int , int #func SetWindowLongA "SetWindowLongA" int , int , int #func SetLayered "SetLayeredWindowAttributes" int , int , int , int bgscr 0,ginfo_dispx,ginfo_dispy,0 width ,,0,0 title "ブルーライトカット" gsel 0,2 GetWindowLongA hwnd , -20 SetWindowLongA hwnd , -20 , stat | 0x00080000 | 0x20 SetLayered hwnd , 0 , 50 , 2 color 128,128,0 : boxf stop
それと、「ブルーライトカット」というのは青要素を弱めることですから、
青を強化するのではなく、青の反対の色である黄色を強化するのが良いと思い、
このようにしてみました。



ゆうやん

リンク

2019/10/2(Wed) 18:10:16|NO.88561

まず、HSPで全画面にする際、bgscr 0,1920,1080,0,0,0 という書き方は間違っています。

正しくは、 bgscr 0,ginfo(20),ginfo(21),0,0,0 です。

解像度が1920x1080より低い場合、画面外に行ってしまうため、ginfoで画面の解像度を取得する必要があります。



HSP 超初心者

リンク

2019/10/2(Wed) 18:24:25|NO.88562

ご回答いただきありがとうございます。解決しました!!🙂



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