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
[14476] Re:Re:SetWindowsHookEx 함수 파라미터에 대해서..
지영배 [jiggol] 2171 읽음    2002-01-14 17:11
void SetShellHook()
{
   FARPROC lpfnProc;
   lpfnProc = GetProcAddress(GetModuleHandle("HookDll.dll"), "ShellProc");

   ShellHook = SetWindowsHookEx(
      WH_SHELL,
      lpfnProc,
      NULL,
      0
   );

   WriteData();
}

이렇게 하니까 되네요..

그런데 책에는.. 단순히 포인터를 넣는게 아니라

훅킹 프로시저이름만을 적어놓았네요.. -_-




허접.indio 님이 쓰신 글 :
: 함수를 사용하는데서 에러가 나는것은 아닌거 같습니다만... ㅡㅡ''
: SetWindowsHookEx 라는 함수안에 두번째 인자로 들어가는 lpfn 을 잘못 선언한것 같습니다..
: ShellProc 라는 함수를 정의했을테고... 이 함수의 포인터를 선언부에서 선언을 하셨을텐데요..
: 잘못 선언이 되고 잘못 정의가 되어 있는것 같습니다...
:
: 한번 확인을 해 보심이... 그럼 수고하세요..
:
: 지영배 님이 쓰신 글 :
: :
: : 훅을 걸어주는 함수 입니다.
: :
: : void SetShellHook()
: : {
: :    ShellHook = SetWindowsHookEx(
: :       WH_SHELL,
: :       ShellProc,
: :       NULL,
: :       0
: :    );
: :
: :    WriteData();
: :
: : }
: :
: : 이렇구요.. 저 위에 보시면 하시겠지만 훅 프로시저는 ShellProc 입니다.
: :
: : 그런데 자꾸만.. 저 함수에서 에러가 납니다.
: :
: : [C++ Error] HookDll.cpp(28): E2034 Cannot convert 'long (__stdcall *)(int,unsigned int,long)' to 'int (__stdcall *)()'
: :
: : [C++ Error] HookDll.cpp(28): E2342 Type mismatch in parameter 'lpfn' (wanted 'int (__stdcall *)()', got 'long (__stdcall *)(int,unsigned int,long)')
: :
: :
: : 이렇게 에러가 납니다.
: :
: : 제가 함수 사용을 잘못 한건지요?.
: :
: : 타입(Type) 에러 인거 같은데.. 잘 모르겠습니다. T_T
: :
: : 아시는분.. 답변좀 주세요~
: :
: : 오늘도 좋은 하루되세요.. ^^
: :
: :
: :
: :

+ -

관련 글 리스트
14467 SetWindowsHookEx 함수 파라미터에 대해서.. 지영배 1435 2002/01/14
14475     Re:SetWindowsHookEx 함수 파라미터에 대해서.. 허접.indio 1358 2002/01/14
14476         Re:Re:SetWindowsHookEx 함수 파라미터에 대해서.. 지영배 2171 2002/01/14
14468     혹시 XP 라서 그런걸까요? 64비트 운영체제라던데.. -_-+ (내용무) 지영배 1002 2002/01/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.