You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Move the window in the same process to any virtual desktop.
23
-
* Move the window of another process to any virtual desktop (Support in version 2.0 or later).
24
-
* Pin any window or application; will be display on all desktops.
25
-
* Notification for switching, deletion, renaming, etc.
26
-
* Change the wallpaper for each desktop.
27
-
21
+
* Switch, add, and remove a virtual desktop
22
+
* Move any window to any virtual desktop
23
+
* Pin any window or application for them to show on all desktops
24
+
* Notifications when switching, deleting, or renaming virtual desktops
25
+
* Change the wallpaper for each desktop
28
26
29
27
### Sample app
30
28
@@ -51,23 +49,20 @@ Install NuGet package(s).
51
49
PM> Install-Package VirtualDesktop
52
50
```
53
51
54
-
*[VirtualDesktop](https://www.nuget.org/packages/Slions.VirtualDesktop/) - Core classes for VirtualDesktop.
55
-
*[VirtualDesktop.WPF](https://www.nuget.org/packages/Slions.VirtualDesktop.WPF/) - Provides extension methods for WPF [Window class](https://msdn.microsoft.com/en-us/library/system.windows.window(v=vs.110).aspx).
56
-
*[VirtualDesktop.WinForms](https://www.nuget.org/packages/Slions.VirtualDesktop.WinForms/) - Provides extension methods for [Form class](https://msdn.microsoft.com/en-us/library/system.windows.forms.form(v=vs.110).aspx).
52
+
*[VirtualDesktop] - Core classes for VirtualDesktop.
53
+
*[VirtualDesktop.WPF] - Provides extension methods for [WPF Window class].
54
+
*[VirtualDesktop.WinForms] - Provides extension methods for [Form class].
57
55
58
56
59
57
## How to use
60
58
61
59
### Preparation
62
-
Because of the dependency on [C#/WinRT](https://aka.ms/cswinrt) ([repo](https://github.com/microsoft/CsWinRT)), the target framework must be set to `net5.0-windows10.0.19041.0` or later.
Since this library is using undocumented interfaces you need to properly [reverse engineer](https://github.com/Slion/VirtualDesktop/issues/14) your Windows version to support it.
133
+
Since this library is using undocumented interfaces, you need to [reverse engineer] your Windows version to support it.
139
134
140
-
The class IDs of some of the undocumented interfaces we use tend to change a lot between different versions of Windows.
141
-
If the demo application crashes on start-up chances are all you need to do is provide the proper IDs for the version of Windows you are running on.
135
+
The class IDs of undocumented interfaces tend to change between different OS versions.
136
+
If the demo application crashes on start-up, you will need to provide the interfaces' IDs matching your Windows version.
142
137
143
138
Here are the interfaces we need:
144
139
@@ -153,14 +148,14 @@ Here are the interfaces we need:
153
148
-`IVirtualDesktopNotificationService`
154
149
-`IVirtualDesktopPinnedApps`
155
150
156
-
Once you have the IDs add them in a new `setting` element in [app.config].
157
-
Make sure to specify the correct 5 digits Windows build version.
151
+
Once you have those IDs, add them in a new `setting` element in [app.config].
152
+
Make sure to specify the correct 9 digits Windows build and cumulative update version.
158
153
You can get it using one of those methods:
159
154
- From the UI run: `winver`
160
155
- From shell run: `ver`
161
156
- From powershell run: `cmd /c ver`
162
157
163
-
Make sure to contribute back your changes.
158
+
Don't forget to contribute back your changes.
164
159
165
160
## Publish
166
161
@@ -169,7 +164,7 @@ To publish a new release specify your version in [Directory.Build.props] and pus
169
164
170
165
## Internals
171
166
172
-
Essentially a C# wrapper for [IVirtualDesktopManager](https://msdn.microsoft.com/en-us/library/windows/desktop/mt186440%28v%3Dvs.85%29.aspx) and related undocumented interfaces.
167
+
This library is essentially a C# wrapper for [IVirtualDesktopManager] and related undocumented interfaces.
173
168
In order to support breaking binary changes between Windows versions we perform runtime compilation of a DLL providing access to the COM interfaces matching your OS build version.
174
169
175
170
## Resources
@@ -178,16 +173,29 @@ In order to support breaking binary changes between Windows versions we perform
0 commit comments