Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A problem with the new Windows update 11 #55

Open
aliztori opened this issue Sep 13, 2023 · 18 comments
Open

A problem with the new Windows update 11 #55

aliztori opened this issue Sep 13, 2023 · 18 comments

Comments

@aliztori
Copy link

Error: (0x80004002) No such interface supported

---- 
026: this.MoveWindowToDesktop := this._vtable(this.IVirtualDesktopManager.Ptr, 5)
027: this.IServiceProvider := ComObject("{C2F03A33-21F5-47FA-B4BB-156362A2F239}", "{6D5140C1-7436-11CE-8034-00AA006009FA}")

▶ 028: this.IVirtualDesktopManagerInternal := ComObjQuery(this.IServiceProvider.Ptr, "{C5E0CDCA-7B6E-41B2-9FC4-D93975CC467B}", IID_IVirtualDesktopManagerInternal_)
029: this.MoveViewToDesktop := this._vtable(this.IVirtualDesktopManagerInternal.Ptr, 4)
030: this.CanViewMoveDesktops := this._vtable(this.IVirtualDesktopManagerInternal.Ptr, 5)

@zhcqiu
Copy link

zhcqiu commented Sep 14, 2023

I encountered the same issue. VD.ahk can't be used anymore.

@bgriffy
Copy link

bgriffy commented Sep 14, 2023

I encountered the same issue. 😭

@youderian
Copy link

I'm having the same issue!

@messmerizaRB
Copy link

messmerizaRB commented Sep 14, 2023

Same issue, Also looks like VirtualDesktop.cs has a newer version. I tried replacing that but it seems the UUID have changed. Awesome script by the way, it makes moving current windows between VDs so easy. so PLEASE FIX :-)

@theb0ringdev
Copy link

Just updated and yes it stopped working. I don't know enough to fix it so I am hoping it will be fixed soon 🙏 windows is a pain to use without this.

@anxxx
Copy link

anxxx commented Sep 16, 2023

Has worked perfectly until latest Windows updates (KB5031217) and (KB5030219) installed last night

Now receive error message when I attempt to switch desktops:


Error: This value of type "Class" has no property named "GetDesktops".

---- D:\Data\AutoHotkey2\VD2\VD.ah2
084: {
085: IObjectArray := 0

▶ 086: DllCall(this.GetDesktops, "UPtr", this.IVirtualDesktopManagerInternal.Ptr, "Ptr", 0, "UPtr*", &IObjectArray := 0)
087: Return IObjectArray
088: }

Any solution would be greatly appreciated.

@mac-s-g
Copy link

mac-s-g commented Sep 16, 2023

I ran into the same issue.

I was was able to resolve issues for my personal workflows. you can see my changes here.

I didn't post an MR for a couple of reasons:

  1. the changes generically target win11 build 22621. I don't know enough to isolate >= 2215 patch.
  2. I only tested VD.ah2 methods that I use personally (namely getCurrentDesktopNum, getCount, goToDesktopNum and MoveWindowToDesktopNum). Further changes are likely required to support all methods.
  3. I only made changes to the v2_port branch

It was a headache tracking down the updated interface id's. @MScholtes Virtual Desktop project is an amazing reference. thanks to him and @FuPeiJiang for their contributions to open source. hopefully my commit is useful for others. ❤️

@youderian
Copy link

@mac-s-g Thank you so much! That fixed things for my use case (MoveWindowToDesktopNum, goToDesktopNum). Really appreciate your work and taking the time to share.

@anxxx
Copy link

anxxx commented Sep 17, 2023

@mac-s-g Many many thanks and for finding a solution so quickly. Your changes work perfectly with Windows build 22621.2283. Having just programmed a Stream Deck keyboard to enable me to switch desktops and move apps with a single keystroke I was distraught that it was no longer working. Anyway, you have saved the day - at least until the next Windows update!

@RalfReddings
Copy link

Me and my friend are on AHK V1 and can confirm that the update has broke it too. Any chance of a fix for V1 too?

@mac-s-g
Copy link

mac-s-g commented Sep 18, 2023

@RalfReddings i ported my changes over to the class_VD branch (AHK v1).
here's the diff

hope this helps.

fyi -
I noticed while porting changes over that FindDesktop and RemoveDesktop point to the same method. I'm guessing I broke RemoveDesktop, but none of my automations reference it so I never encountered the problem.

@messmerizaRB
Copy link

@RalfReddings i ported my changes over to the class_VD branch (AHK v1). here's the diff

hope this helps.

fyi - I noticed while porting changes over that FindDesktop and RemoveDesktop point to the same method. I'm guessing I broke RemoveDesktop, but none of my automations reference it so I never encountered the problem.

Thanks so much for this fix!

@Michael-Steshenko
Copy link

My scripts based on _VD.ahk also stopped working, waiting for a solution.
The solution from @mac-s-g seems temp and modifies a file with a different name.

@daveM246
Copy link

daveM246 commented Oct 5, 2023

Thanks @mac-s-g . I had to further modify VD.ah2 to get it to work on my windows 11 build 22621.
Lines 65 and 66 changed to:
this.Ptr_CreateDesktop := this._vtable(this.IVirtualDesktopManagerInternal.Ptr, 10)
this.Ptr_RemoveDesktop := this._vtable(this.IVirtualDesktopManagerInternal.Ptr, 12)

@mac-s-g
Copy link

mac-s-g commented Oct 18, 2023

thanks for the fix @daveM246! i committed the change to my v2_port branch and it resolved an error that cropped up recently.

@Stan-Stani
Copy link

Stan-Stani commented Oct 20, 2023

I replaced the first 92 lines into my current VD.ah2 and now it works. Thanks @daveM246 and @mac-s-g !

v2_port...mac-s-g:VD.ahk:v2_port

Edit

The reason I only replaced those lines was because I had an older commit checked out due to #53 . (I'm not sure if it's the one I posted or actually 7978eb5)

But after booting up today I was only getting errors for VD.ah2 so ended up just checking v2_port current again and replacing VD.ah2 with your version and now it's working. Thanks!
a
** Edit 2**
It stopped working... I finally figured out that for some reason the changes after that commit I posted above makes using the Arrow Keys not work. E.g.

^#left::VD.goToDesktopNum(1)
^#down::VD.goToDesktopNum(2)
^#right::VD.goToDesktopNum(3)
^#up::VD.goToDesktopNum(4)

does not work.

So I substituted

^#J:: VD.goToDesktopNum(1)
^#K:: VD.goToDesktopNum(2)
^#L:: VD.goToDesktopNum(3)
^#I:: VD.goToDesktopNum(4)

and now they're working fine.

@Viqsi
Copy link

Viqsi commented Mar 4, 2024

If you've been hanging out with a forked or locally modified version of VD.ahk, I recommend giving the latest version here a try; it looks to me like the issues have recently been fixed but that just wasn't communicated at the time.

@llinfeng
Copy link

@Viqsi Thanks for dropping the note! Things are now working as normal in my AHK V1 script. (I updated the _VD.ahk from this repo, and used VirtualDesktopAccessor.dll from this other repo.)

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

No branches or pull requests