打印機的管理
阿新 • • 發佈:2018-04-13
打印機
枚舉計算機的所有打印機
PRINTER_INFO_5* prninfo = NULL; void CMFCApplication1Dlg::OnBnClickedButton8() { DWORD dwNeeded=0, dwReturned=0; EnumPrinters(PRINTER_ENUM_LOCAL, NULL, 5, NULL, 0, &dwNeeded, &dwReturned); prninfo = (PRINTER_INFO_5*)GlobalAlloc(GPTR, dwNeeded); if (EnumPrinters(PRINTER_ENUM_LOCAL, NULL, 5, (LPBYTE)prninfo, dwNeeded, &dwNeeded, &dwReturned)) { for (DWORD i = 0; i < dwReturned; i++, prninfo++) { TCHAR szBuf[256]; TRACE(_T("x = %s\n"), prninfo->pPrinterName); } } }
2.設置默認打印機
TCHAR szPrinterName[1024] = { 0 }; GetDlgItemText(IDC_EDIT1, szPrinterName, 1024); BOOL ret = FALSE; ret = SetDefaultPrinter(szPrinterName); if (ret == FALSE) AfxMessageBox(_T("設置默認打印機失敗")); else AfxMessageBox(_T("設置默認打印機成功"));
3.啟動打印機服務
ShellExecute(NULL, NULL, _T("cmd.exe"), _T("/C net start spooler"), NULL, SW_SHOWNORMAL);
打印機的管理