DetailPage-MSS-KB

기술 자료

기술 자료: 134655 - 마지막 검토: 2005년 3월 1일 화요일 - 수정: 3.2

 

요약

Windows 95 통해 AppInit_DLLs 레지스트리 값 사용하여 프로세스 주소 공간에 DLL 로드를 지원하지 않습니다. Windows NT에서 실행, 모든 프로세스에 대한 Windows NT 프로세스의 주소 공간에 AppInit_DLLs 레지스트리 값이 나열된 DLL을 로드합니다. Windows 95에서 비슷한 기능을 시스템 전반에 걸친 후크를 구현할 수 있습니다. 이 문서의 예제에서 이를 수행하는 방법을 보여 줍니다.

추가 정보

시스템 전반에 걸친 후크 구현하려면 후크된 함수에 콜백 함수가 DLL에 있는지 확인해야 합니다. 때 이 함수를 호출한 다음 운영 체제 후크된 DLL이 대상 응용 프로그램의 주소 공간에 매핑합니다. 실제 함수 후크된 다음 대상 응용 프로그램 프로세스의 일부로 작동합니다.

관련된 두 단계를 기본적으로 시스템 전반에 걸친 후크 만드는 데 있습니다.
  1. 후크 함수로 사용하는 내보낸된 함수가 DLL을 만듭니다. 콜백 함수를 사용하여 WH_KEYBOARD 구현하는 데 필요한 후 예제 함수 다음에 오는 콜백 함수가 모델링됩니다 시스템 전반에 걸친 후크:
          // Trap keyboard messages
          __declspec(dllexport) LRESULT CALLBACK HookFunction(
                           int code,
                           WPARAM wParam,
                           LPARAM lParam)
          {
             char szVCode[50];
    
             //display the virtual key code trapped
             sprintf(szVCode, "Virtual Key code: %lx", wParam);
             MessageBox(NULL, szVCode,"Key stroke", MB_OK);
                    :
                    :
          }
    
       The associated .def file for this DLL might resemble this:
    
          LIBRARY      HOOK
    
          EXPORTS
             HookFunction
    						
  2. 시스템 전반에 걸친 후크를 설치하십시오. 후크를 설치하려면, DLL, 검색된 후크 함수가 주소 로드해야 합니다. 그리고 함수의 주소를 SetWindowsHookEx 합니다. 다음은:
          // add system-wide hook
          hHookDll = LoadLibrary("hook");
          hHookProc = (HOOKPROC) GetProcAddress(hHookDll, "HookFunction");
    
          // Install keyboard hook to trap all keyboard messages
          hSystemHook =  SetWindowsHookEx(WH_KEYBOARD,hHookProc,hHookDll,0);
    						
    응용 프로그램 시스템 전반에 걸친 후크와 완료된 일단 같이 후크 프로세스를 취소할 수 있어야 합니다:
          // Remove the hook and unload the DLL used for the hooking process
          UnhookWindowsHookEx(hSystemHook);
          FreeLibrary(hHookDll);
    						

본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Win32 Application Programming Interface 을(를) 다음과 함께 사용했을 때
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
키워드: 
kbmt kbcode kbkernbase kbregistry KB134655 KbMtko
기계 번역된 문서기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
폐기된 기술 자료 문서더 이상 지원되지 않는 제품의 KB 내용에 대한 고지 사항
이 문서에서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 설명합니다. 따라서 이 문서는 "있는 그대로" 제공되며 업데이트되지 않습니다.
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store