[MFC] PRINTER_INFO_4를 이용한 프린터 설치 여부 체크 진행 예제 입니다.
#include <winspool.h>
void CPrinterInfoMFCDlg::CheckPrinter() {
PRINTER_INFO_4* pPrinterInfo4;
DWORD dwNeeded;
DWORD dwDrvRet;
BOOL bRet = FALSE;
wchar_t lpTemp[MAX_PATH];
wchar_t lpPrinterName[MAX_PATH] = L"L3150 Series(네트워크)";
EnumPrinters(PRINTER_ENUM_LOCAL, NULL, 4, NULL, 0, &dwNeeded, &dwDrvRet);
if (dwNeeded == 0) {
m_edit1.SetWindowText(L"프린터가 없습니다.");
return;
}
pPrinterInfo4 = (PRINTER_INFO_4*)GlobalAlloc(GPTR, dwNeeded);
if (pPrinterInfo4 && EnumPrinters(PRINTER_ENUM_LOCAL, NULL, 4, LPBYTE(pPrinterInfo4), dwNeeded, &dwNeeded, &dwDrvRet)) {
for (DWORD i = 0; i < dwDrvRet; i++) {
if (lstrcmp(pPrinterInfo4[i].pPrinterName, lpPrinterName) == 0) {
wsprintf(lpTemp, L"%s 장치가 존재 합니다.", pPrinterInfo4[i].pPrinterName);
m_edit1.SetWindowText(lpTemp);
bRet = TRUE;
break;
}
}
}
if (!bRet) {
wsprintf(lpTemp, L"%s 장치가 존재 하지 않습니다.", lpPrinterName);
m_edit1.SetWindowText(lpTemp);
}
GlobalFree(HGLOBAL(pPrinterInfo4));
}
'C++ > MFC' 카테고리의 다른 글
Dialog 생성 AfxBeginThread 이용 Thread 호출 예제 입니다. (1) | 2024.11.09 |
---|---|
[MFC Console] HwpAutomation을 이용한 Print 진행 예제 입니다. (1) | 2024.10.20 |
[MFC] Windows Service 시작 / 중지 상태 확인 제어 예제 (0) | 2023.06.27 |
RegOpenKeyEx 32bit 응용프로그램에서 64bit Registry 접근 예제 (0) | 2023.06.22 |
[MFC] WAS서버에 POST 파라미터 전송 시에 한글 깨짐으로 인하여 URLEncode 처리 구현 테스트 진행 (0) | 2023.03.02 |