It would be nice if Classic Shell (CS) worked across multiple desktops.
I was using SysInternals' Desktops when I discovered CS only worked on the first desktop. Desktops uses a Windows desktop object for each desktop and a separate Explorer process runs on each to provide the Taskbar and Start Menu. Thus, I was surprised when CS didn't appear on the extra desktops. I thought it would simply 'hook' Explorer and 'scale'.
It should work for multiple desktops.
However it ineeds to be launched for each desktop separately. For the main one you have the Run registry key, or the Startup folder, to automatically start programs on login. But there is no such system AFAIK for secondary desktops. You will need to do that manually.
Tried SysInternals Desktops on Windows 7 and ran ClassicStartMenu.exe. Works. Only thing is glass transparency isn't available on 2nd or additional desktop.
Does glass not work only for the start menu, or for all other windows?
Sorry I wasn't clear. Glass doesn't work for all windows. But a skin with transparency will do for Classic Shell. :) So no issues.
Windows signals a "WinSta0_DesktopSwitch" kernel event object each time the desktop is switched. By also using the Win32 APIs for enumerating desktops, you might be able to determine when a new desktop is created and then launch Classic Shell on that desktop! This would be a lot better than configuring a shell hack to launch CS on multiple desktops.
Here's a simple app that monitors the event:
include "stdafx.h"
include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
}
A.J.
Starting with Classic Shell 4.2.0, if you use Sysinternals Desktops, on Windows 8 and Windows 10, the Classic Start Menu launches automatically without the 1-minute delay when additional desktops are created.