Значение реестра AppInit_DLLs и Windows 95

Переводы статьи Переводы статьи
Код статьи: 134655 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Аннотация

Windows 95 не поддерживает загрузку DLL в адрес процесса пространство посредством использования этого значения реестра AppInit_DLLs. В Windows NT для каждого процесса выполнения, Windows NT загружает библиотеки DLL, перечисленные в Значение реестра AppInit_DLLs в адресном пространстве процесса. Для подобных функциональные возможности в 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);
    						

Свойства

Код статьи: 134655 - Последний отзыв: 2 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Win32 Application Programming Interface на следующих платформах
    • Microsoft Windows 98 Standard Edition
    • операционная система Microsoft Windows Millennium Edition
Ключевые слова: 
kbcode kbkernbase kbregistry kbmt KB134655 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:134655
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com