The problem
POS terminals — ELO/NCR and Wincor hardware — need specific dual-monitor resolution profiles depending on how the second display is being used, and switching between them by hand through Windows display settings is slow on hardware that doesn’t give you a clean, unattended way to do it.
What I built
A menu-driven PowerShell tool that switches between dual-monitor resolution profiles directly. It calls the Windows Win32 display APIs via embedded C# (compiled inline from PowerShell) to change monitor resolutions programmatically instead of going through the display settings UI.
What it involved
Working with the Win32 API from PowerShell through embedded C#, understanding how Windows exposes multi-monitor display configuration, and building something reliable enough to run against POS hardware in the field — ELO/NCR and Wincor terminals — without a GUI walkthrough.