Skip to content

Conversation

@phazei
Copy link

@phazei phazei commented Dec 31, 2023

In the latest Win11 Dev release # 23606 the COM GUID changed as well as the methods in Win11 Dev were reverted back to maintain Win10 compatibility and the _vtable order was revered back to Win11 stable compatibility.

This PR addresses #61

This isn't really a ready PR since it breaks backwards compatibility and doesn't add another if block for this differing Win11 version. Though it seems the if block that sets the _vtable order can be consolidated to a single else to match stable Win11. The methods for Win11 dev would need to be duplicated though and basically just point back at the Win10 methods. I updated the IVirtualDesktopNotification GUID too even though I don't know what it does, but it was different. I found the updated GUIDs from another project here:
https://github.com/itzjakm/VirtualDesktopAccessor/blob/22635.2915/src/interfaces.rs

But at least with this PR what's necessary is clear as well as the new GUIDs. I haven't thoroughly tested all the functions, only what was necessary for my script which was: VD.getCurrentDesktopNum(), VD.MoveWindowToDesktopNum(active,n), VD.goToDesktopNum(n)

Note: Did not create else blocks to maintain backwards compatibility with previous versions.  Only initial update to confirm compatibility.

It seems the methods in the Win11 Dev COM were reverted back to maintain Win10 compatibility and the vtable order was revered back to Win11 stable compatibility.
@vlachig
Copy link

vlachig commented Jan 26, 2024

@phazei,
many thanks for the Update!

How can I register the change of the current Virtual Desktop?

CurrentVirtualDesktopChanged(desktopNum_Old, desktopNum_New) {
 MsgBox,  Current VirtualDesktop Changed to %desktopNum_New%
}

doesn't seem to work
in
Win11 Build 22631.3085 (23H2)

@Viqsi
Copy link

Viqsi commented Mar 4, 2024

Y'all might want to test the latest commit by @FuPeiJiang as a significant refactoring was done w/r/t how the GUIDs are picked, and in the process everything seems fixed to me. It's verified working for me in the AHKv2 version; I don't have any AHKv1 code to test with tho.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants