static Exception GenerateInstallFailureException() { var errorCode = Marshal.GetLastWin32Error(); var existingOwner = ClipboardApi.GetClipboardOwner(); var ownerTitle = WindowApi.GetWindowTitle(existingOwner); return(new InvalidOperationException($"Could not install a clipboard hook for the main window. The window '{ownerTitle}' currently owns the clipboard. The last error code was {errorCode}.")); }