Skip to content

maleet/VirtualDesktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VirtualDesktop

VirtualDesktop is C# wrapper for IVirtualDesktopManager on Windows 10.

Features

  • Switch, add, and remove a Virtual Desktop.
  • Move the window in the same process to any Virtual Desktop.
  • [CANNOT] Move the window of another process to any Virtual Desktop.

How to use

Preparation:

<!-- create "app.manifest" file -->
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
	    <!-- Windows 10 -->
	    <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
    </application>
</compatibility>
// reference VirtualDesktop.dll
using WindowsDesktop;

Get instance of VirtualDesktop:

// Get all Virtual Desktops
var desktops = VirtualDesktop.GetDesktops();

// Get Virtual Desktop for specific window
var desktop = VirtualDesktop.FromHwnd(hwnd);

// Get the left/right desktop
var left  = desktop.GetLeft();
var right = desktop.GetRight();

Manage Virtual Desktops:

// Create new
var desktop = VirtualDesktop.Create();

// Remove
desktop.Remove();

// Switch
desktop.Switch();

for WPF window

// reference VirtualDesktop.WPF.dll

// Check whether a window is on the current desktop.
var isCurrent = window.IsCurrentVirtualDesktop();

// Get Virtual Desktop for WPF window
var desktop = window.GetCurrentDesktop();

// Move window to specific Virtual Desktop
window.MoveToDesktop(desktop);

See also:

License

This library is under the MIT License.

About

Wrapper for API to Virtual Desktop on Windows 10.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%