private void Initialize() { this.IsAvailable = false; VirtualDesktopCache.Initialize(this._assembly); this.VirtualDesktopManager = (IVirtualDesktopManager)Activator.CreateInstance(Type.GetTypeFromCLSID(CLSID.VirtualDesktopManager)); if (ProductInfo.OSBuild >= 21359) { this.VirtualDesktopManagerInternal = new VirtualDesktopManagerInternal21359(this._assembly); } else if (ProductInfo.OSBuild >= 21313) { this.VirtualDesktopManagerInternal = new VirtualDesktopManagerInternal21313(this._assembly); } else if (ProductInfo.OSBuild >= 20231) { this.VirtualDesktopManagerInternal = new VirtualDesktopManagerInternal20231(this._assembly); } else { this.VirtualDesktopManagerInternal = new VirtualDesktopManagerInternal10240(this._assembly); } this.VirtualDesktopNotificationService = new VirtualDesktopNotificationService(this._assembly); this.VirtualDesktopPinnedApps = new VirtualDesktopPinnedApps(this._assembly); this.ApplicationViewCollection = new ApplicationViewCollection(this._assembly); this._listener?.Dispose(); this._listener = this.VirtualDesktopNotificationService.Register(VirtualDesktopNotification.CreateInstance(this._assembly)); this.IsAvailable = true; }
public override IEnumerable <VirtualDesktop> GetDesktops() { var array = this.Invoke <IObjectArray>(Args(IntPtr.Zero)); var count = array.GetCount(); var vdType = this.ComInterfaceAssembly.GetType("IVirtualDesktop"); for (var i = 0u; i < count; i++) { array.GetAt(i, vdType.GUID, out var ppvObject); yield return(VirtualDesktopCache.GetOrCreate(ppvObject)); } }
private void Initialize() { VirtualDesktopCache.Initialize(this._assembly); this.VirtualDesktopManager = (IVirtualDesktopManager)Activator.CreateInstance(Type.GetTypeFromCLSID(CLSID.VirtualDesktopManager)); this.VirtualDesktopManagerInternal = new VirtualDesktopManagerInternal(this._assembly); this.VirtualDesktopNotificationService = new VirtualDesktopNotificationService(this._assembly); this.VirtualDesktopPinnedApps = new VirtualDesktopPinnedApps(this._assembly); this.ApplicationViewCollection = new ApplicationViewCollection(this._assembly); this._listener?.Dispose(); this._listener = this.VirtualDesktopNotificationService.Register(VirtualDesktopNotification.CreateInstance(this._assembly)); }
protected void CurrentVirtualDesktopChangedCore(object pDesktopOld, object pDesktopNew) { VirtualDesktop.EventRaiser.RaiseCurrentChanged(this, VirtualDesktopCache.GetOrCreate(pDesktopOld), VirtualDesktopCache.GetOrCreate(pDesktopNew)); }
protected void VirtualDesktopDestroyedCore(object pDesktopDestroyed, object pDesktopFallback) { VirtualDesktop.EventRaiser.RaiseDestroyed(this, VirtualDesktopCache.GetOrCreate(pDesktopDestroyed), VirtualDesktopCache.GetOrCreate(pDesktopFallback)); }
protected void VirtualDesktopCreatedCore(object pDesktop) { VirtualDesktop.EventRaiser.RaiseCreated(this, VirtualDesktopCache.GetOrCreate(pDesktop)); }
protected VirtualDesktop GetDesktop(object comObject) => VirtualDesktopCache.GetOrCreate(comObject);
private VirtualDesktop GetDesktop(object[] parameters = null, [CallerMemberName] string methodName = "") => VirtualDesktopCache.GetOrCreate(this.Invoke <object>(parameters, methodName));
protected void VirtualDesktopWallpaperChangedCore(object pDesktop, string chPath) { VirtualDesktop.EventRaiser.RaiseWallpaperChanged(this, VirtualDesktopCache.GetOrCreate(pDesktop), chPath); }
protected void VirtualDesktopRenamedCore(object pDesktop, string chName) { VirtualDesktop.EventRaiser.RaiseRenamed(this, VirtualDesktopCache.GetOrCreate(pDesktop), chName); }
protected void VirtualDesktopMovedCore(object pDesktop, int nFromIndex, int nToIndex) { VirtualDesktop.EventRaiser.RaiseMoved(this, VirtualDesktopCache.GetOrCreate(pDesktop), nFromIndex, nToIndex); }