public static string DesktopNameFromIndex(int index) { // return name of desktop from index (-> index = 0..Count-1) or "Desktop n" if it has no name Guid guid = DesktopManager.GetDesktop(index).GetId(); // read desktop name in registry string desktopName = null; try { desktopName = (string)Microsoft.Win32.Registry.GetValue("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\VirtualDesktops\\Desktops\\{" + guid.ToString() + "}", "Name", null); } catch { } // no name found, generate generic name if (string.IsNullOrEmpty(desktopName)) { // create name "Desktop n" (n = number starting with 1) desktopName = "Desktop " + (index + 1).ToString(); } return(desktopName); }
public static bool HasDesktopNameFromIndex(int index) { // return true is desktop is named or false if it has no name Guid guid = DesktopManager.GetDesktop(index).GetId(); // read desktop name in registry string desktopName = null; try { desktopName = (string)Microsoft.Win32.Registry.GetValue("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\VirtualDesktops\\Desktops\\{" + guid.ToString() + "}", "Name", null); } catch { } // name found? if (string.IsNullOrEmpty(desktopName)) { return(false); } else { return(true); } }
public void Remove(Desktop fallback = null) { // Destroy desktop and switch to <fallback> IVirtualDesktop fallbackdesktop; if (fallback == null) { // if no fallback is given use desktop to the left except for desktop 0. Desktop dtToCheck = new Desktop(DesktopManager.GetDesktop(0)); if (this.Equals(dtToCheck)) { // desktop 0: set fallback to second desktop (= "right" desktop) DesktopManager.VirtualDesktopManagerInternal.GetAdjacentDesktop(ivd, 4, out fallbackdesktop); // 4 = RightDirection } else { // set fallback to "left" desktop DesktopManager.VirtualDesktopManagerInternal.GetAdjacentDesktop(ivd, 3, out fallbackdesktop); // 3 = LeftDirection } } else { // set fallback desktop fallbackdesktop = fallback.ivd; } DesktopManager.VirtualDesktopManagerInternal.RemoveDesktop(ivd, fallbackdesktop); }
public static Desktop FromIndex(int index) { // Create desktop object from index 0..Count-1 return(new Desktop(DesktopManager.GetDesktop(index))); }
public static Desktop FromIndex(int index) { // return desktop object from index (-> index = 0..Count-1) return(new Desktop(DesktopManager.GetDesktop(index))); }