diff --git a/ScreenCast.Win/Services/ScreenCasterWin.cs b/ScreenCast.Win/Services/ScreenCasterWin.cs index 3fe6ba21..6f33f5f0 100644 --- a/ScreenCast.Win/Services/ScreenCasterWin.cs +++ b/ScreenCast.Win/Services/ScreenCasterWin.cs @@ -26,19 +26,26 @@ namespace Remotely.ScreenCast.Win.Services public async Task BeginScreenCasting(ScreenCastRequest screenCastRequest) { - if (Win32Interop.GetCurrentDesktop(out var currentDesktopName)) + try { - Logger.Write($"Setting desktop to {currentDesktopName} before screen casting."); - Win32Interop.SwitchToInputDesktop(); - } - else - { - Logger.Write("Failed to get current desktop before screen casting."); - } + if (Win32Interop.GetCurrentDesktop(out var currentDesktopName)) + { + Logger.Write($"Setting desktop to {currentDesktopName} before screen casting."); + Win32Interop.SwitchToInputDesktop(); + } + else + { + Logger.Write("Failed to get current desktop before screen casting."); + } - var conductor = ServiceContainer.Instance.GetRequiredService(); - await conductor.CasterSocket.SendCursorChange(CursorIconWatcher.GetCurrentCursor(), new List() { screenCastRequest.ViewerID }); - _ = BeginScreenCasting(screenCastRequest.ViewerID, screenCastRequest.RequesterName, ServiceContainer.Instance.GetRequiredService()); + var conductor = ServiceContainer.Instance.GetRequiredService(); + await conductor.CasterSocket.SendCursorChange(CursorIconWatcher.GetCurrentCursor(), new List() { screenCastRequest.ViewerID }); + _ = BeginScreenCasting(screenCastRequest.ViewerID, screenCastRequest.RequesterName, ServiceContainer.Instance.GetRequiredService()); + } + catch (Exception ex) + { + Logger.Write(ex); + } } } }