获取Windows默认打印机名

来源:互联网 发布:linux home代表什么 编辑:程序博客网 时间:2024/05/21 17:40
 

#ifdef _FILL_DEFAULT_PRINTER_NAME_
 LPTSTR szPrinterName=NULL;
 DWORD lPrinterNameLength=0;
 DWORD ret=0;
 DWORD ErrorNum=0;

 GetDefaultPrinter(NULL,&lPrinterNameLength);
 szPrinterName = new TCHAR[lPrinterNameLength];
 ret = GetDefaultPrinter(szPrinterName,&lPrinterNameLength);

 if (0 == ret)
 {
  ErrorNum = GetLastError();
  if (ERROR_FILE_NOT_FOUND == ErrorNum)
  {
   m_DriverNameStr = _T("");
   //AfxMessageBox(_T("ERROR_FILE_NOT_FOUND == ErrorNum"));
  }
  else if (ERROR_INSUFFICIENT_BUFFER == ErrorNum)
  {
   m_DriverNameStr = _T("");
   //AfxMessageBox(_T("ERROR_INSUFFICIENT_BUFFER == ErrorNum"));
  }
 }
 else
 {
  m_DriverNameStr = szPrinterName;
  //AfxMessageBox(szPrinterName);
 }

 delete []szPrinterName;
 szPrinterName = NULL;
 UpdateData(FALSE);
#endif