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

Limitations of Windows wallpaper APIs #321

Closed
t1m0thyj opened this issue May 29, 2021 · 14 comments
Closed

Limitations of Windows wallpaper APIs #321

t1m0thyj opened this issue May 29, 2021 · 14 comments
Labels
help wanted Extra attention is needed

Comments

@t1m0thyj
Copy link
Owner

t1m0thyj commented May 29, 2021

@rocksdanister
Copy link

rocksdanister commented Jun 2, 2021

@t1m0thyj

No fade transition so image change is jarring/unnatural

This depends on Windows Animate controls and elements settings

@t1m0thyj
Copy link
Owner Author

@watermarkhu @7HE-W0R1D Could you please try this build of WDD? It should set the wallpaper across multiple virtual desktops: https://ci.appveyor.com/project/t1m0thyj/windynamicdesktop/builds/39692425/artifacts

@7HE-W0R1D
Copy link

Just got some time to try and I installed the UWP version, but it gives me an error when clicking Apply. I've attached the log here.
WinDynamicDesktop.exe.log
Seems that the program treats win11 as an unsupported version so it throws that error?

@watermarkhu
Copy link

watermarkhu commented Jun 23, 2021

@t1m0thyj Setting the same theme across multiple desktops works fine on 21H1 (19043). But I'm not sure whether this build already uses the new API. I have left the Dev channel of the insider builds due to stability issues.

@0mri
Copy link

0mri commented Jun 28, 2021

@t1m0thyj got this error when open WDD on new win11 insider preview.

InkedScreenshot 2021-06-28 230011_LI

WinDynamicDesktop.exe.log

@t1m0thyj
Copy link
Owner Author

I created a new build, could you please try it? I don't know if it'll work on Windows 11, currently the latest version of Windows I have access to test is Windows 10 Insiders (dev edition) and it works there.

@7HE-W0R1D
Copy link

7HE-W0R1D commented Jun 29, 2021

I created a new build, could you please try it? I don't know if it'll work on Windows 11, currently the latest version of Windows I have access to test is Windows 10 Insiders (dev edition) and it works there.

@t1m0thyj yes I can confirm this one works on Win 11 ver22000 and all the wallpapers are switching without problems. Thanks for the quick fix!🎉

@0mri
Copy link

0mri commented Jul 1, 2021

now it's working, but sometimes i get this error

[2021-06-30 16:53:44.125] System.Runtime.InteropServices.COMException (0x800706BA): The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
   at WinDynamicDesktop.IVirtualDesktopManagerInternal.GetCurrentDesktop(IntPtr hWndOrMon)
   at WinDynamicDesktop.VirtualDesktopApi.SetWallpaper(String imagePath)
   at WinDynamicDesktop.WallpaperChangeScheduler.SetWallpaper(Int32 imageId)
   at WinDynamicDesktop.WallpaperChangeScheduler.RunScheduler(Boolean forceImageUpdate)
   at WinDynamicDesktop.MainMenu.OnRefreshItemClick(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

@t1m0thyj
Copy link
Owner Author

t1m0thyj commented Jul 2, 2021

@0mri
Copy link

0mri commented Jul 2, 2021

@t1m0thyj now i get this error when scheduled wallpaper change

[2021-07-02 16:52:40.591] System.Runtime.InteropServices.COMException (0x800706BA): The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
   at WinDynamicDesktop.IVirtualDesktopManagerInternal.GetCurrentDesktop(IntPtr hWndOrMon)
   at WinDynamicDesktop.VirtualDesktopApi.SetWallpaper(String imagePath)
   at WinDynamicDesktop.WallpaperApi.<>c__DisplayClass4_0.<SetWallpaper>b__0()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

@t1m0thyj
Copy link
Owner Author

t1m0thyj commented Jul 5, 2021

@0mri I now have access to Win11 and think the issue is fixed, could you please try https://ci.appveyor.com/project/t1m0thyj/windynamicdesktop/builds/39873093/artifacts

@NyaMisty
Copy link

@t1m0thyj Hi I found this issue from @Grabrcr07's repo.

Windows have been changing interface every half year now, so I strongly suggest that we move to a newer repo like @mntone's instead of manually maintaining those internal interfaces.

And also, @mntone's repo have already added wallpaper support.

@t1m0thyj
Copy link
Owner Author

t1m0thyj commented Sep 21, 2021

@NyaMisty I agree that manually maintaining the internal interfaces is not ideal. Before doing so I attempted to use @mntone's repo, but found that it doesn't work in a Microsoft Store app because it has to compile a DLL the first time it runs on your machine. If there's a way to work around this, I'm definitely open to using the latest fork of the VirtualDesktop package.

Edit: After enabling dynamic code generation for the Microsoft Store app, the VirtualDesktop package is working.

@t1m0thyj
Copy link
Owner Author

These 3 features have been implemented in WDD v5.

@t1m0thyj t1m0thyj unpinned this issue Mar 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

6 participants