If you want to obtain a (default) printer device context handle, you may use PrintDlg(LPPRINTDLG) Windows API function (or PrintDlgEx in modern Windows). Initialize PRINTDLG structure with Flag member value = PD_RETURNDC | PD_RETURNDEFAULT (no real dialog box in that case). The function returns default printer device context handle in hDC member of the structure.
Don't forget to initialize the structure, to handle possible errors (and to DeleteDC obtained context handle after using?).
See MSDN for details...