C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[53523] 고맙습니다.
초보자 [] 1068 읽음    2008-05-27 17:32
장성호 님이 쓰신 글 :
: C++Builder 6.0을 주로 쓰고 있습니다.
: 6.0 Help에도 GetProcAddress는 나오는데
: GetDefaultPrinterA는  안나오는것 같네요
:
: MSDN을 참조하심이 좋을것 같습니다.
:
: http://msdn.microsoft.com/en-us/library/ms683212(VS.85).aspx
: http://msdn.microsoft.com/en-us/library/ms535475.aspx
:
: 그럼..
:
:
: 초보자 님이 쓰신 글 :
: : 장성호님이 알려주신 코드로 수정하니 코드도 쉽고 문제도 해결했습니다.
: : 감사합니다.
: :
: :
: : 한가지 더 문의 하고 싶은것은
: : 제가 버전 5.0 Help - 색인 메뉴얼에 찾아 봐도 아래
: : GetProcAddressf , GetDefaultPrinterA 함수를  찾아 볼수 없어서
: :
: : C++Builder Help 버전이나 , 사이트좀 알려주셨으면 합니다.
: :
: :
: :
: :
: :
: :
: :
: :
: :
: : 장성호 님이 쓰신 글 :
: : : RptGetDefault = (_PRINT_GETDEF_)::GetProcAddress(m_hPrintHandle, TEXT("GetDefaultPrinterA"));
: : :
: : : 이 부분에서  RptGetDefault  여기에 NULL인것 같은데요..
: : : hPrintHandle 에   NULL이어서 그런것같구요
: : :
: : : C++Builder에서는
: : : GetProcAddressf로 GetDefaultPrinterA 함수를 찾을 필요 없이 바로 사용하면 됩니다.
: : :
: : : void __fastcall TForm2::Panel1Click(TObject *Sender)
: : : {
: : :     String sPrinterName;
: : :     DWORD dwBufSize=256;
: : :     char buf[256];
: : :     GetDefaultPrinterA(buf,&dwBufSize);
: : :     sPrinterName=buf;
: : :     ShowMessage(sPrinterName);
: : : }
: : : //---------------------------------------------------------------------------
: : :
: : :
: : : 참조하세요
: : : http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=13963
: : :
: : : 그럼..
: : :
: : :
: : : 초보자 님이 쓰신 글 :
: : : : //디폴트 프린트 이름을 가져오는 프로그램을 코딩중에.. 에러가 나서요..
: : : :
: : : :
: : : : //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;
: : : : }

+ -

관련 글 리스트
53514 [초보] 코드 에러 원인좀 찾아 주세요.. 초보자 1227 2008/05/27
53516     Re:[초보] 코드 에러 원인좀 찾아 주세요.. 장성호 1182 2008/05/27
53519         장성호님 GetProcAddressf로 GetDefaultPrinterA 함수를 어느메뉴얼에서 찾아봐야하는지.. 초보자 1110 2008/05/27
53520             Re:장성호님 GetProcAddressf로 GetDefaultPrinterA 함수를 어느메뉴얼에서 찾아봐야하는지.. 장성호 1249 2008/05/27
53523                 고맙습니다. 초보자 1068 2008/05/27
53517         고맙습니다. 초보자 1114 2008/05/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.