Center window on primary screen — Win32, C/C++ — below, featuring workiness. Our long national nightmare is now over:
void CenterWindowOnScreen(HWND hwnd)
{
RECT wnd_rect;
GetWindowRect(hwnd, &wnd_rect);
RECT screen_rect;
SystemParametersInfo(SPI_GETWORKAREA, 0, reinterpret_cast<PVOID>(&screen_rect), 0);
int scr_wd = screen_rect.right - screen_rect.left;
int scr_hgt = screen_rect.bottom - screen_rect.top;
int wnd_wd = wnd_rect.right - wnd_rect.left;
int wnd_hgt = wnd_rect.bottom - wnd_rect.top;
int x = (scr_wd - wnd_wd) / 2;
int y = (scr_hgt - wnd_hgt) / 2;
SetWindowPos(hwnd, 0, x, y, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
}