diff --git a/WinSyncScroll/ViewModels/MainViewModel.cs b/WinSyncScroll/ViewModels/MainViewModel.cs index 63fcc9d..78f0180 100644 --- a/WinSyncScroll/ViewModels/MainViewModel.cs +++ b/WinSyncScroll/ViewModels/MainViewModel.cs @@ -343,7 +343,20 @@ private async Task RunMouseEventProcessingLoopAsync( if (!_options.Value.IsLegacyModeEnabled) { LogSendInput(inputs); - PInvoke.SendInput(inputs.AsSpan(), SizeOfInput); + var sentCount = PInvoke.SendInput(inputs.AsSpan(), SizeOfInput); + + if (sentCount != inputs.Length) + { + var lastError = Marshal.GetLastWin32Error(); + _logger.LogError("SendInput failed: expected to send {ExpectedCount} events, but only {SentCount} were sent. Last Win32 error: {LastError}", + inputs.Length, + sentCount, + lastError); + } + else + { + _logger.LogTrace("Successfully sent {SentCount} input events", sentCount); + } } else { @@ -369,7 +382,20 @@ private async Task RunMouseEventProcessingLoopAsync( lParam, targetX, targetY); - PInvoke.PostMessage(windowHandle, (uint)buffer.MouseMessageId, (nuint)buffer.MouseMessageData.mouseData, lParam); + + var result = PInvoke.PostMessage(windowHandle, (uint)buffer.MouseMessageId, (nuint)buffer.MouseMessageData.mouseData, lParam); + + if (!result) + { + var lastError = Marshal.GetLastWin32Error(); + _logger.LogError("PostMessage failed for window {WindowHandle}: Last Win32 error: {LastError}", + windowHandle, + lastError); + } + else + { + _logger.LogTrace("Successfully posted message to window {WindowHandle}", windowHandle); + } } } }