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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0201
𝙿𝚘𝚗𝚢𝚘Windows10ではウィンドウの色を変えれることができない?2解決


𝙿𝚘𝚗𝚢𝚘

リンク

2019/2/1(Fri) 16:37:54|NO.86451


#module __HSP3COLOR__ // *** 必要となるAPIや定数の定義 *** \\ #uselib "user32.dll" #func SetSysColors "SetSysColors" int, int, int #cfunc GetSysColor "GetSysColor" int #define COLOR_SCROLLBAR 0 #define COLOR_BACKGROUND 1 #define COLOR_ACTIVECAPTION 2 #define COLOR_INACTIVECAPTION 3 #define COLOR_MENU 4 #define COLOR_WINDOW 5 #define COLOR_WINDOWFRAME 6 #define COLOR_MENUTEXT 7 #define COLOR_WINDOWTEXT 8 #define COLOR_CAPTIONTEXT 9 #define COLOR_ACTIVEBORDER 10 #define COLOR_INACTIVEBORDER 11 #define COLOR_APPWORKSPACE 12 #define COLOR_HIGHLIGHT 13 #define COLOR_HIGHLIGHTTEXT 14 #define COLOR_BTNFACE 15 #define COLOR_BTNSHADOW 16 #define COLOR_GRAYTEXT 17 #define COLOR_BTNTEXT 18 #define COLOR_INACTIVECAPTIONTEXT 19 #define COLOR_BTNHIGHLIGHT 20 #deffunc SetWindowSystemColor int prm1, array colorValues _hwnd = prm1 aElements = COLOR_ACTIVECAPTION, COLOR_INACTIVECAPTION ; 設定するモード(定数) foreach aElements Count = cnt aOldColors( Count ) = GetSysColor( aElements( Count ) ) aOldColors( Count ) = GetSysColor( aElements( Count ) ) aNewColors( Count ) = colorValues( Count ) loop SetSysColors Count, varptr(aElements), varptr(aNewColors) return stat #deffunc oldUpdateWindowMenuColor onexit SetSysColors Count, varptr(aElements), varptr(aOldColors) return stat #global #define ctype RGB( %1, %2, %3 ) ( %1 | %2 << 8 | %3 << 16 ) setColorValues = RGB( 20, 20, 20 ), RGB( 70, 70, 70 ) SetWindowSystemColor hwnd, setColorValues mes "stat == " + stat exec "notepad"

スクリプトの中の 設定するモード の所で
COLOR_ACTIVECAPTION と COLOR_INACTIVECAPTION 以外は色指定ができるのですが、
これらだけできないのは Windows10 の使用なのでしょうか?(*´Д`)
管理者権限で実行しましたが、普通に反映されませんでした。
何方か他のOSでの検証または、ヒントよろしくお願いします。



この記事に返信する


MillkeyStars

リンク

2019/2/2(Sat) 12:08:54|NO.86457

Windows 8.1 及び Windows 10 でのタイトルバー(キャプション)のカラーは、DWM (Desktop Window Manager) が担当しています。
タイトルバーのカラーは DWM 側で合成処理を行っているので、色の設定をするにはレジストリを直接変更し、変更後アクティブだったウィンドウのウィンドウ全体を更新してください。

カラー値を変更した後は、PCを再起動せずに即時反映されます。

[変更箇所レジストリ]
コンピューター\HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM

上記レジストリキーの「ColorPrevalence」というデータがタイトルバーの色の変更を動作するスイッチです。(1 で on : 0 で off)
また「AccentColor」「Colorization???」(???はレジストリデータの名前に置き換えてください 複数あるので ??? と説明しています。)というのがタイトルバーの色を決定している数値となります。



𝙿𝚘𝚗𝚢𝚘

リンク

2019/2/2(Sat) 18:05:00|NO.86460

出来ました!自作モジュールだったので、理解してくれるか不安でした...(^^;
MillkeyStarsさん本当にありがとうございます。m(_ _)m



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