using Microsoft.Win32;
namespace Remiss.Core.Printing;
/// <summary>
/// Läser namnet på Windows standardskrivare. Används bara för audit-loggen –
/// själva utskriften låter SumatraPDF välja default via <c>-print-to-default</c>.
/// </summary>
public static class DefaultPrinter
{
public static string? TryGetName()
{
try
{
using var key = Registry.CurrentUser.OpenSubKey(
@"Software\Microsoft\Windows NT\CurrentVersion\Windows");
if (key?.GetValue("Device") is string device && device.Length > 0)
{
// Formatet är "Skrivarnamn,winspool,Ne00:"
var comma = device.IndexOf(',');
return comma > 0 ? device[..comma] : device;
}
}
catch
{
// ignore – audit får då "(systemets standardskrivare)"
}
return null;
}
}