В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

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

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:134655
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.
Аннотация
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);						
4,00

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 134655 — последний просмотр: 06/02/2011 07:05:00 — редакция: 4.0

Microsoft Win32 Application Programming Interface

  • kbcode kbkernbase kbregistry kbmt KB134655 KbMtru
Отзывы и предложения
">l>