private static void RegisterListener() { var service = VirtualDesktopInteropHelper.GetVirtualDesktopNotificationService(); listener = new VirtualDesktopNotificationListener(); dwCookie = service.Register(listener); }
internal static IDisposable RegisterListener() { var service = ComObjects.VirtualDesktopNotificationService; listener = new VirtualDesktopNotificationListener(); dwCookie = service.Register(listener); return Disposable.Create(() => service.Unregister(dwCookie.Value)); }
internal static IDisposable RegisterListener() { var service = ComObjects.VirtualDesktopNotificationService; listener = new VirtualDesktopNotificationListener(); dwCookie = service.Register(listener); return(Disposable.Create(() => service.Unregister(dwCookie.Value))); }
static IDisposable RegisterAdvancedListener() { var service = ComObjects.VirtualDesktopNotificationService; listener = new VirtualDesktopNotificationListener(); dwCookie = service.Register(listener); return(Disposable.Create(() => { try { service.Unregister(dwCookie.Value); } catch (COMException e) when(e.HResult == ComObjects.RPC_S_SERVER_UNAVAILABLE) { // no need to unregister when service is gone } })); }