/// <summary> /// 恢复WorkerW中的所有句柄到桌面 /// </summary> public static void RestoreAllHandles() { var desktop = User32Wrapper.GetDesktopWindow(); var workw = GetWorkerW(); var enumWindowResult = User32Wrapper.EnumChildWindows(workw, new EnumWindowsProc((tophandle, topparamhandle) => { var txt = User32Wrapper.GetWindowText(tophandle); if (!string.IsNullOrEmpty(txt)) { User32Wrapper.SetParent(tophandle, desktop); } return(true); }), IntPtr.Zero); RefreshWallpaper(null); }
public static void Close(bool restoreParent = false) { if (!_showed) { return; } _showed = false; if (!_initlized) { Initlize(); } if (restoreParent) { var desktop = User32Wrapper.GetDesktopWindow(); User32Wrapper.SetParent(_handler, desktop); } DesktopWallpaperAPI.Enable(true); }