private static void RegisterListener() { var service = VirtualDesktopInteropHelper.GetVirtualDesktopNotificationService(); listener = new VirtualDesktopNotificationListener(); dwCookie = service.Register(listener); }
private static void UnregisterListener() { if (dwCookie == null) { return; } var service = VirtualDesktopInteropHelper.GetVirtualDesktopNotificationService(); service.Unregister(dwCookie.Value); }
static VirtualDesktop() { if (!IsSupported) { return; } try { ComManager = VirtualDesktopInteropHelper.GetVirtualDesktopManager(); ComInternal = VirtualDesktopInteropHelper.GetVirtualDesktopManagerInternal(); } catch (Exception ex) { InitializationException = ex; isSupportedInternal = false; } RegisterListener(); AppDomain.CurrentDomain.ProcessExit += (sender, args) => UnregisterListener(); }