|
//디폴트 프린트 이름을 가져오는 프로그램을 코딩중에.. 에러가 나서요..
//TEST ----------2 까지는 나오는데
//TEST----------3에서 프로그램이 종료됩니다.
고수님 코드중에 무엇이 잘못됬나여
[test.h]
HMODULE m_hPrintHandle;
[test.cpp]
typedef BOOL (WINAPI * _PRINT_SETDEF_)(LPCSTR);
typedef BOOL (WINAPI * _PRINT_GETDEF_)(LPSTR, LPDWORD);
....
bool __fastcall TFormSetup::CheckExternalIsDefault()
{
_PRINT_GETDEF_ RptGetDefault;
bool bResult;
if(m_hPrintHandle != NULL)
{
RptGetDefault = (_PRINT_GETDEF_)::GetProcAddress(m_hPrintHandle, TEXT("GetDefaultPrinterA"));
}
DWORD dwSize = 0;
RptGetDefault(NULL, &dwSize);
TCHAR* pszBuff = new TCHAR[dwSize];
memset(pszBuff, NULL, sizeof(TCHAR)*dwSize);
ShowMessage("TEST___________________________________________________2");
RptGetDefault(pszBuff, &dwSize);
ShowMessage("TEST___________________________________________________3");
//ShowMessage(pszBuff);
if(strstr(pszBuff, "STP-103") != NULL){
//bResult = false;
bResult = 0;
}
else{
//bResult = true;
bResult = 1;
}
delete [] pszBuff;
return bResult;
}
|