babyface
Freshman Member
Posts: 36
OS: Windows 8.1 (self builded)
Theme: Windows 7 Aero
CPU: QQLS (workstation), QTJ1 (server 1 and server 2)
RAM: 32GB on workstation, 64GB on server 1 and server 2
GPU: Intel UHD 630
|
Post by babyface on Oct 1, 2024 6:55:42 GMT -8
My discovery on how to disable dwm without any problems. It turns out that if you close the "dwm.exe" handle in winlogon, you can force the system not to restart dwm after it is destroyed. What does this give us? It allows us to write a program that will hook to uxtheme and track theme changes. In case of a change, check whether the theme has a custom design, and if not, turn on the classic theme. I will try to do this, but I also want to ask experienced WindowsAPI developers - how can I do this effectively so as not to take up a lot of processor time? Why not just freeze winlogon? Then login/logout and other functions related to login/logout will be broken. Why not install a mod for Windhawk? This isn't native "classic theme" - this program anyway using DWM, my goal to have 1:1 classic theme. I have a goal - to achieve 1:1 in appearance and functionality with Windows 7. And the purpose of this goal is to learn the basics of WindowsAPI, since I plan to write a lot of automation programs that will work with it.
|
|
babyface
Freshman Member
Posts: 36
OS: Windows 8.1 (self builded)
Theme: Windows 7 Aero
CPU: QQLS (workstation), QTJ1 (server 1 and server 2)
RAM: 32GB on workstation, 64GB on server 1 and server 2
GPU: Intel UHD 630
|
Post by babyface on Oct 1, 2024 6:58:53 GMT -8
Since explorer7 release, we are also don't need to crutches, like ClassicThemeTaskbar. All works good from box
|
|
babyface
Freshman Member
Posts: 36
OS: Windows 8.1 (self builded)
Theme: Windows 7 Aero
CPU: QQLS (workstation), QTJ1 (server 1 and server 2)
RAM: 32GB on workstation, 64GB on server 1 and server 2
GPU: Intel UHD 630
|
Post by babyface on Oct 1, 2024 7:08:53 GMT -8
|
|
babyface
Freshman Member
Posts: 36
OS: Windows 8.1 (self builded)
Theme: Windows 7 Aero
CPU: QQLS (workstation), QTJ1 (server 1 and server 2)
RAM: 32GB on workstation, 64GB on server 1 and server 2
GPU: Intel UHD 630
|
Post by babyface on Oct 1, 2024 7:10:54 GMT -8
|
|
|
Post by ephemeralViolette on Oct 1, 2024 12:54:32 GMT -8
What does this give us? It allows us to write a program that will hook to uxtheme and track theme changes. In case of a change, check whether the theme has a custom design, and if not, turn on the classic theme. I will try to do this, but I also want to ask experienced WindowsAPI developers - how can I do this effectively so as not to take up a lot of processor time? I believe the functionality that you're after, like being able to switch to the classic theme in the Windows 7 Control Panel Personalization page, has already been achieved. If I'm mistaken, then it should just suffice to create a program that listens for WM_THEMECHANGED events fired by the OS on theme changes. That's practically as efficient as it'll get.
|
|
babyface
Freshman Member
Posts: 36
OS: Windows 8.1 (self builded)
Theme: Windows 7 Aero
CPU: QQLS (workstation), QTJ1 (server 1 and server 2)
RAM: 32GB on workstation, 64GB on server 1 and server 2
GPU: Intel UHD 630
|
Post by babyface on Oct 1, 2024 21:28:30 GMT -8
What does this give us? It allows us to write a program that will hook to uxtheme and track theme changes. In case of a change, check whether the theme has a custom design, and if not, turn on the classic theme. I will try to do this, but I also want to ask experienced WindowsAPI developers - how can I do this effectively so as not to take up a lot of processor time? I believe the functionality that you're after, like being able to switch to the classic theme in the Windows 7 Control Panel Personalization page, has already been achieved. If I'm mistaken, then it should just suffice to create a program that listens for WM_THEMECHANGED events fired by the OS on theme changes. That's practically as efficient as it'll get. I can't understand "has already been achieved". More, please. You are talking about WM_THEMECHANGED event?
|
|
|
Post by ephemeralViolette on Oct 2, 2024 7:17:56 GMT -8
I believe the functionality that you're after, like being able to switch to the classic theme in the Windows 7 Control Panel Personalization page, has already been achieved. If I'm mistaken, then it should just suffice to create a program that listens for WM_THEMECHANGED events fired by the OS on theme changes. That's practically as efficient as it'll get. I can't understand "has already been achieved". More, please. You are talking about WM_THEMECHANGED event? I swear I saw a Windhawk mod recently that can switch to basic and classic theme via that Control Panel page. That's all that I meant.
|
|
babyface
Freshman Member
Posts: 36
OS: Windows 8.1 (self builded)
Theme: Windows 7 Aero
CPU: QQLS (workstation), QTJ1 (server 1 and server 2)
RAM: 32GB on workstation, 64GB on server 1 and server 2
GPU: Intel UHD 630
|
Post by babyface on Oct 2, 2024 8:46:57 GMT -8
I can't understand "has already been achieved". More, please. You are talking about WM_THEMECHANGED event? I swear I saw a Windhawk mod recently that can switch to basic and classic theme via that Control Panel page. That's all that I meant. OK
|
|
|
Post by OrthodoxWin32 on Oct 2, 2024 16:07:35 GMT -8
I swear I saw a Windhawk mod recently that can switch to basic and classic theme via that Control Panel page. That's all that I meant. I am not aware of these mods; where can they be found?
|
|
aldon
Freshman Member
Posts: 56
|
Post by aldon on Oct 2, 2024 23:37:00 GMT -8
Search Windhawk for: Basic Themer 1.1.0 by aubymori Applies the Windows Basic theme to desktop windows This mod applies non-DWM frames (Windows Basic theme) to desktop windows when DWM is enabled.
|
|
|
Post by ephemeralViolette on Oct 3, 2024 3:40:21 GMT -8
I swear I saw a Windhawk mod recently that can switch to basic and classic theme via that Control Panel page. That's all that I meant. I am not aware of these mods; where can they be found? I don't remember where I saw it, sorry. You might find luck finding it yourself somewhere in the Windhawk Discord server.
|
|
|
Post by OrthodoxWin32 on Oct 3, 2024 15:16:42 GMT -8
I don't remember where I saw it, sorry. You might find luck finding it yourself somewhere in the Windhawk Discord server. I think I didn't understand something: when you say that basic and classic styles can be switched with Control Panel page, are you talking about Windhawk Control Panel, or the system Control Panel?
|
|
|
Post by ephemeralViolette on Oct 4, 2024 8:02:54 GMT -8
I don't remember where I saw it, sorry. You might find luck finding it yourself somewhere in the Windhawk Discord server. I think I didn't understand something: when you say that basic and classic styles can be switched with Control Panel page, are you talking about Windhawk Control Panel, or the system Control Panel? System Control Panel. The Windhawk frontend is not called a control panel, and I even capitalised "Control Panel" as the operating system uses the term as a proper noun.
|
|
|
Post by cetav13115 on Oct 8, 2024 17:42:55 GMT -8
My discovery on how to disable dwm without any problems. It turns out that if you close the "dwm.exe" handle in winlogon, you can force the system not to restart dwm after it is destroyed. What does this give us? It allows us to write a program that will hook to uxtheme and track theme changes. In case of a change, check whether the theme has a custom design, and if not, turn on the classic theme. I will try to do this, but I also want to ask experienced WindowsAPI developers - how can I do this effectively so as not to take up a lot of processor time? Why not just freeze winlogon? Then login/logout and other functions related to login/logout will be broken. Why not install a mod for Windhawk? This isn't native "classic theme" - this program anyway using DWM, my goal to have 1:1 classic theme. I have a goal - to achieve 1:1 in appearance and functionality with Windows 7. And the purpose of this goal is to learn the basics of WindowsAPI, since I plan to write a lot of automation programs that will work with it. Either I'm missing something or this doesn't make any sense. Is this not simply tricking Windows into not running DWM via Image Execution Options as someone else pointed out already? On top of which how stable is this? Sounds to me you'll a have period where some stuff works before the entire system seizes or starts crashing. On an actual 1607 Datacenter copy of Windows 10 pretty much almost nothing worked at all. I got even lucky being able to login since the OS natively allows console login. Google Chrome 70 kept refusing to work and was very buggy and unstable even with Windows 7 compatibility. Legacy UI Blender IIRC was just a black screen or didn't render anything. Legacy TeamViewer 14 had issues rendering any menus or even RetroBar or the Vista Sidebar. Can't imagine you'll be able to play a lot of games either since I suspect DWM ditching the option to be switched off heavily ties into the video driver itself as well. A bunch of apps like PS and Paint.NET needed to have accelerated GPU disabled. Same with Waterfox. On a more up to date LTSC version of Windows 10 even with forcing console login the system was unstable and crashed a lot for no reason or explorer kept crashing.
|
|
aldon
Freshman Member
Posts: 56
|
Post by aldon on Oct 8, 2024 23:53:50 GMT -8
Why not install a mod for Windhawk? This isn't native "classic theme" - this program anyway using DWM, my goal to have 1:1 classic theme. I have a goal - to achieve 1:1 in appearance and functionality with Windows 7. And the purpose of this goal is to learn the basics of WindowsAPI, since I plan to write a lot of automation programs that will work with it. OK, could you make some screenshots with classic theme?
|
|
|
Post by anixx on Oct 9, 2024 1:45:20 GMT -8
Why not install a mod for Windhawk? This isn't native "classic theme" - this program anyway using DWM, my goal to have 1:1 classic theme. The Windhawk Classic Theme mod is using native classic theme.
|
|
|
Post by OrthodoxWin32 on Oct 9, 2024 3:22:22 GMT -8
babyface Indeed, I think there is a confusion between the window manager (DWM or the old manager using the CPU), and the controls displayed. By default, using DWM will indeed display the specific server-side window frame, but if we modify this behavior to display the basic theme or the classic theme, what is displayed is identical to what would be displayed if DWM was disabled. For example, the classic theme is what is displayed if the theme is disabled; if the system cannot access the theme service, it will display the classic theme, whether DWM is enabled or not. Afterwards, the behavior of the windows will of course not be the same if DWM is disabled as if it is enabled.
|
|