aasmal97 / Window-Actions

A StreamDeck Plugin that allows a user to perform window actions, and navigate virtual desktops, on a windows machine
https://marketplace.elgato.com/product/window-actions-1466943f-b058-4e6c-be04-cbd65ce09b31
MIT License
8 stars 0 forks source link

Virtual Desktop Actions Not Working After Win11 KB5029351 (2023-08) Update #7

Closed applegeeks closed 1 year ago

applegeeks commented 1 year ago

I found that after updating my Windows 11 machine to kb5029351 2023-08 Cumulative Update Preview for Windows 11 Version 22H2 for x64 based systems, that the Virtual Desktop (Moved to Next, Previous or Go to) function on the Window Actions Plugin are no longer working.

Does the script for the plugin need to be updated?

In the meantime, I have restored mysystem to a backup before the update since the virtual desktop function are very helpful to my day to day work. I did do a shortcut for CTRL+WIN+LEFT ARROW/RIGHT ARROW but unfortunately, not ideal for what I use it for since it sometimes get detected by the system I'm logging into when I'm RDP'd or connectioned to another remote machine.

applegeeks commented 1 year ago

Latest September 2023 update for Win11 KB5030219 also impacts this

aasmal97 commented 1 year ago

@applegeeks You're absolutely right, and just spent today fixing it!

The problem was with a library called pvuda that relied on an outdated dll file. Unfortunately, this is the only relatively reliable approach I found to control virtual desktop actions, as Windows does not expose virtual window actions in their Win32 API. The best we get is moving a window from one virtual desktop to another. But that's too limited and wouldn't work for your use case either.

Thankfully, after some research I found the direct binaries provided here. However since this piece of code is considered "unofficial", I suspect that as future updates occur, these may need to be regularly changed or added to the project to support backwards compatibility.

For right now, the solution involved having three separate dll files, and detecting the build version. That way, we use one for Windows 10, one for Windows 11 prior to build version 22621.2215, and one for machines up to the present (since unfortunately, these binaries are not backwards compatible.

applegeeks commented 9 months ago

@aasmal97 hate to be pestering with this stuff but just updated to the Feb 2024 patches and it appears the same functions are broken again :( Any chance you can work your magic again? Otherwise, might have to revert to an old backup for now and hold off on updates.

Running Windows ACtions 4.1.0 Edition Windows 11 Version 22H2 OS build 22621.3155