Here is an experimental version of 7+ Taskbar Tweaker which mostly works on Windows 8.1 Preview:
Removed. 7+ Taskbar Tweaker now officially supports Windows 8.1.
Options that currently do not work:
- Thumbnails: Left click on the active thumbnail minimizes the window.
- Combining: Combine grouped buttons.
- Other: Don’t show jump list when dragging a taskbar item towards the desktop.
So, why did the options above stop working? Not much was changed about the taskbar in Windows 8.1, after all.
Because Microsoft uses better code optimization, it became more difficult to control the code functionality.
The tweaker heavily uses a technique of replacing function pointers in the vtable (virtual function table) of the taskbar’s classes.
Until now, all virtual calls were made using late binding (i.e. the function pointer was read from the vtable before every function call is made), which allowed easy hooking of virtual functions by replacing the corresponding pointer in the vtable.
But in Windows 8.1 Preview, some of the virtual functions are called directly, making them unaffected by the vtable.
One possible solution is to use a different hooking method.
While replacing the function pointer in the vtable might have no effect, it’s still possible to read the original pointer, and use a Detours-style hook.
One possible issue that comes to mind is inlining. If the compiler is smart enough to get rid of the late binding in some situations, it might as well inline the function. I’m not sure whether it happens in practice. Let’s hope it doesn’t.
Anyway, I do not plan to fix that until a more stable version of Windows 8.1 is out, preferably RTM, because things might change in the final version.