private static IntPtr GetDesktopHandle() { var vHandle = NM.FindWindow("Progman", "Program Manager"); vHandle = NM.FindWindowEx(vHandle, IntPtr.Zero, "SHELLDLL_DefView", null); if (vHandle == IntPtr.Zero) { NM.EnumWindows((hwnd, lp) => { vHandle = NM.FindWindowEx(hwnd, IntPtr.Zero, "SHELLDLL_DefView", null); return(vHandle == IntPtr.Zero); }, IntPtr.Zero); } return(NM.FindWindowEx(vHandle, IntPtr.Zero, "SysListView32", "FolderView")); }