1. 程式人生 > >打印機的管理

打印機的管理

打印機

  • 枚舉計算機的所有打印機

  • 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);


    打印機的管理