您目前已離線,請等候您的網際網路重新連線

AppInit_DLLs 登錄值,Windows 95

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:134655
依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。
結論
Windows 95 不支援的 DLL 載入處理序的位址空間,透過 AppInit_DLLs 登錄值的使用。在 Windows NT 執行,每個處理程序 Windows NT 載入到處理序的位址空間 AppInit_DLLs 登錄值中所列的 DLL。在 Windows 95 中的類似功能,您可以實作全系統的勾點。本文章顯示範例中,如何執行它。
其他相關資訊
若要實作全系統的勾點,您必須確定 hooked 函式 (回呼函式) 存在於 DLL 中。然後當這個函式會呼叫作業系統將 hooked 的 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 - 最後檢閱時間:03/01/2005 15:34:49 - 修訂: 3.2

Microsoft Win32 Application Programming Interface

  • kbmt kbcode kbkernbase kbregistry KB134655 KbMtzh
意見反應