Jump to content

Simple hack enables classic theme in Windows 10 (and 8, too!)


CamTron

Recommended Posts

2 hours ago, cc333 said:

Can you tell us how stable it is? If I can get my 8.1 to look like that without losing a bunch of functionality, I'd probably use it more regularly.

It is totally stable. Classic theme can be enabled by either deleting the ThemeSection object in memory or changing the access rights to that object. I delete it with ClassicThemeA.exe program, which simply deletes it and exits. The access rights can be modified by ObjDir utility but it is GUI-based (no command-line version, unfortunately).

So, after enabling Classic theme everything works as usual except some Control Panel applets and the task manager. So one has to install a task manager from Win 7 or Win8.1 PE (it is available in the Internet https://winaero.com/blog/how-to-restore-the-good-old-task-manager-in-windows-8/ ) or even simply renaming the new one (I did not try this) https://www.eightforums.com/customization/5855-old-task-manager-part-windows-8-a.html

Even most METRO apps still work, such as Windows Store and Start Screen. If one wants to kill METRO (which still consumes coimputing power even if not used), one has to kill the METRO thread in explorer.exe process, I do it with fxxkmetro.exe utility.

 

Link to comment
Share on other sites


3 hours ago, cc333 said:

Getting it or (especially) 10 to run with the supposedly excised Classic Theme *stably* is quite an impressive feat, and if you've accomplished that, then good job!

With Win10 the things are more compliceted, the taskbar there is hard-coded, so it does not appear Classic even under Classic theme. Also, it has more METRO stuff, such as METRO-based Control Panel, and Metro apps do not work under Classic theme on Win10 (unlike Win 8.1). But there is a workaround: one has to switch to Classic theme after Metro process is started. Also, people use the taskbar from ReactOS. Here are some screenshots:

http://winclassic.boards.net/thread/204/automatic-classic-theme-script-windows

 

Edited by Anixx
Link to comment
Share on other sites

2 hours ago, Anixx said:

It is totally stable. Classic theme can be enabled by either deleting the ThemeSection object in memory or changing the access rights to that object. I delete it with ClassicThemeA.exe program, which simply deletes it and exits. The access rights can be modified by ObjDir utility but it is GUI-based (no command-line version, unfortunately).

So, after enabling Classic theme everything works as usual except some Control Panel applets and the task manager. So one has to install a task manager from Win 7 or Win8.1 PE (it is available in the Internet https://winaero.com/blog/how-to-restore-the-good-old-task-manager-in-windows-8/ ) or even simply renaming the new one (I did not try this) https://www.eightforums.com/customization/5855-old-task-manager-part-windows-8-a.html

Even most METRO apps still work, such as Windows Store and Start Screen. If one wants to kill METRO (which still consumes coimputing power even if not used), one has to kill the METRO thread in explorer.exe process, I do it with fxxkmetro.exe utility.

 

Your desktop looks really good. I recently tried to get it working that way under 8.1 and using that automatic script under 10. Neither worked very well for me at all.

8.1 I couldn't get to do anything despite reading and following that guide on that site for ClassicThemeA, which was a shame. And the one under 10 changed everything aside from the taskbar (that was still Windows 10 style, and gave me a transparency glitch when using photo viewer, it also turned off thumbnail generation.)

Link to comment
Share on other sites

24 minutes ago, James Pond said:

8.1 I couldn't get to do anything despite reading and following that guide on that site for ClassicThemeA, which was a shame.

Have tried the install mode (Classictheme.exe)?

24 minutes ago, James Pond said:

And the one under 10 changed everything aside from the taskbar

Yes, there is no way to make the taskbar under Win10 to look Classic (aside from replacing it with the one from another Windows version or from ReactOS).

 

24 minutes ago, James Pond said:

and gave me a transparency glitch when using photo viewer

This is a common glitch that also can be encountered on Win 8.1. There are fixes, but none is perfect. Particularly, with one of the fixes the windows would look correct, but the window animations (minimize-maximize) would look too pale. Another way to fix it is to use Classic theme over high-contrast theme of Windows (setting high-contrast theme before enabling Classic theme), this has a disadvantage that your logon screen would look too boring and in some browsers, such as Firefox you would have to configure to ignore high-contrast theme. There are also per-application workarounds. This is not very much annoying to me because I do not use programs that use transparency (extending window frame into client area), and this API is any way deprecated by Microsoft.

24 minutes ago, James Pond said:

it also turned off thumbnail generation

If you mean taskbar thumbnails, yes, that is the case, but I do not use them anyway (I prefer Win2000 style so I set it that way in 7+ Taskbar Tweaker). Also I saw a Win10 screenshot of Classic theme with taskbar thumbnails displayed. I did not ask the author how he reached that.

Edited by Anixx
Link to comment
Share on other sites

2 hours ago, Anixx said:

Have tried the install mode (Classictheme.exe)?

Yes, there is no way to make the taskbar under Win10 to look Classic (aside from replacing it with the one from another Windows version or from ReactOS).

 

This is a common glitch that also can be encountered on Win 8.1. There are fixes, but none is perfect. Particularly, with one of the fixes the windows would look correct, but the window animations (minimize-maximize) would look too pale. Another way to fix it is to use Classic theme over high-contrast theme of Windows (setting high-contrast theme before enabling Classic theme), this has a disadvantage that your logon screen would look too boring and in some browsers, such as Firefox you would have to configure to ignore high-contrast theme. There are also per-application workarounds. This is not very much annoying to me because I do not use programs that use transparency (extending window frame into client area), and this API is any way deprecated by Microsoft.

If you mean taskbar thumbnails, yes, that is the case, but I do not use them anyway (I prefer Win2000 style so I set it that way in 7+ Taskbar Tweaker). Also I saw a Win10 screenshot of Classic theme with taskbar thumbnails displayed. I did not ask the author how he reached that.

I did not try install mode, as I couldn't figure out how to.

I thought thats what the script was supposed to do for Windows 10?

Ah I didn't know it was a common glitch. If I do it again, then i'll have to put up with it as that sounds like alot of effort for little reward. How do you not use transparency on it do you use another image viewer, or an older one?

And not taskbar thumbnails, file thumbnails. Such as pictures, videos, etc.

Link to comment
Share on other sites

12 minutes ago, James Pond said:

I did not try install mode, as I couldn't figure out how to.

What program was you trying to run in the first place? If the script created for Win10, it won't work on Windows 8. On Windows 8 you should run ClassicTheme.exe for install mode or rename it ClassicThemeA.exe to instantly enable Classic theme and exit.

12 minutes ago, James Pond said:

I thought thats what the script was supposed to do for Windows 10?

On Win10 the look of the taskbar is nailed (hardcoded) to it. It looks the same in all themes.

12 minutes ago, James Pond said:

How do you not use transparency on it do you use another image viewer, or an older one?

I do not often view images. One can use a third-party image viewer or the one from Office 2000 or use one of the fixes for transparency. For instance, you can use this AHK script, it will fix transparency in all programs (but somehow worsens window animations):

#NoTrayIcon
#NoEnv
Gui +LastFound
hWnd := WinExist()
SetControlDelay, -1
SetBatchLines -1

DllCall( "RegisterShellHookWindow", UInt,hWnd )
MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" )
OnMessage( MsgNum, "ShellMessage" )
Return

ShellMessage(wParam,lParam) {

If (wParam = 1 ) {

WCA_ACCENT_POLICY := 19
accentStructSize := VarSetCapacity(AccentPolicy, 4*4, 0)
NumPut(1, AccentPolicy, 0, "UInt")

padding := A_PtrSize == 8 ? 4 : 0
VarSetCapacity(WindowCompositionAttributeData, 4 + padding + A_PtrSize + 4 + padding)
NumPut(WCA_ACCENT_POLICY, WindowCompositionAttributeData, 0, "UInt")
NumPut(&AccentPolicy, WindowCompositionAttributeData, 4 + padding, "Ptr")
NumPut(accentStructSize, WindowCompositionAttributeData, 4 + padding + A_PtrSize, "UInt")

DllCall("SetWindowCompositionAttribute", "Ptr", lParam, "Ptr",

&WindowCompositionAttributeData)

}

}

}

The exe is attached.

12 minutes ago, James Pond said:

And not taskbar thumbnails, file thumbnails. Such as pictures, videos, etc.

File thumbnails are not affected by the Classic theme, but the author of the script you used possibly included this feature as well. All the features included in the script can be disabled.

Accentfix.7z

Edited by Anixx
Link to comment
Share on other sites

8 minutes ago, Anixx said:

What program was you trying to run in the first place? If the script created for Win10, it won't work on Windows 8. On Windows 8 you should run ClassicTheme.exe for install mode or rename it ClassicThemeA.exe to instantly enable Classic theme and exit.

On Win10 the look of the taskbar is nailed (hardcoded) to it. It looks the same in all themes.

I do not often view images. One can use a third-party image viewer or the one from Office 2000 or use one of the fixes for transparency. For instance, you can use this AHK script, it will fix transparency in all programs (but somehow worsens window animations):


#NoTrayIcon
#NoEnv
Gui +LastFound
hWnd := WinExist()
SetControlDelay, -1
SetBatchLines -1

DllCall( "RegisterShellHookWindow", UInt,hWnd )
MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" )
OnMessage( MsgNum, "ShellMessage" )
Return

ShellMessage(wParam,lParam) {

If (wParam = 1 ) {

WCA_ACCENT_POLICY := 19
accentStructSize := VarSetCapacity(AccentPolicy, 4*4, 0)
NumPut(1, AccentPolicy, 0, "UInt")

padding := A_PtrSize == 8 ? 4 : 0
VarSetCapacity(WindowCompositionAttributeData, 4 + padding + A_PtrSize + 4 + padding)
NumPut(WCA_ACCENT_POLICY, WindowCompositionAttributeData, 0, "UInt")
NumPut(&AccentPolicy, WindowCompositionAttributeData, 4 + padding, "Ptr")
NumPut(accentStructSize, WindowCompositionAttributeData, 4 + padding + A_PtrSize, "UInt")

DllCall("SetWindowCompositionAttribute", "Ptr", lParam, "Ptr",

&WindowCompositionAttributeData)

}

}

}

The exe is attached.

File thumbnails are not affected by the Classic theme, but the author of the script you used possibly included this feature as well. All the features included in the script can be disabled.

Accentfix.7z

Many thanks for that. I shall give it ago when I get a chance.

For the ClassicTheme when I installed 8.1 the other week I followed this guide and couldn't get it working - http://winclassic.boards.net/thread/43/windows-classic-theme-resident-programs

I tried running ClassicShell.exe when I was on 8.1 and nothing happened.

Link to comment
Share on other sites

34 minutes ago, James Pond said:

I tried running ClassicShell.exe when I was on 8.1 and nothing happened.

You runned Classic Shell? Well, that may be the cause, because Classic Shell has nothing to do with Classic theme. You should run the attached file (I attached the old version which is better). Also, notice that when you enable Classic theme, without installing it or putting it in autostart, it affects only the programs that started later. Prevuously started programs are not affected.

ClassicThemeOld.zip

Edited by Anixx
Link to comment
Share on other sites

40 minutes ago, Anixx said:

You runned Classic Shell? Well, that may be the cause, because Classic Shell has nothing to do with Classic theme. You should run the attached file (I attached the old version which is better). Also, notice that when you enable Classic theme, without installing it or putting it in autostart, it affects only the programs that started later. Prevuously started programs are not affected.

ClassicThemeOld.zip

Bit of a massive typo in my post sorry. ClassicTheme.exe I meant to say is what a ran when I couldn't get it working as a task. That did nothing when I double clicked on it.

I'll download your file, and try that when I re-install 8.1 again. Thanks for putting up with my constant questions.

Link to comment
Share on other sites

7 minutes ago, James Pond said:

I ment to say is what a ran when I couldn't get it working as a task.

You should check task properties. By default new tasks in Windows have attribute "run only when connected to electricity network", you should uncheck that.

Link to comment
Share on other sites

  • 1 month later...

does dragging windows round the screen still result in temporary gfx corruption? i tried the classic windows hack somtime ago but didn't keep using it because of that, also playing videos resulted in horrible tearing.

Link to comment
Share on other sites

2 hours ago, RanCorX2 said:

does dragging windows round the screen still result in temporary gfx corruption? i tried the classic windows hack somtime ago but didn't keep using it because of that, also playing videos resulted in horrible tearing.

There is no tearing of corruption on Win 8. Unless you specifically disable DWM or you use Win 7.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...