De registerwaarde AppInit_DLLs en Windows 95

BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.

De Engelstalige versie van dit artikel is de volgende: 134655
Vrijwaring inhoud KB-artikelen over niet langer ondersteunde producten
Dit artikel heeft betrekking op producten waarvoor Microsoft geen ondersteuning meer biedt. Daarom wordt dit artikel alleen in de huidige vorm aangeboden en wordt het niet meer bijgewerkt.
Samenvatting
Windows 95 biedt geen ondersteuning voor het laden van een DLL-bestand in een proces adresde ruimte van de registerwaarde AppInit_DLLs. In Windows NTvoor elk proces dat wordt uitgevoerd, Windows NT laadt de dll-bestanden die worden vermeld deDe registerwaarde AppInit_DLLs in de adresruimte van het proces. Voor vergelijkbarefunctionaliteit in Windows 95, kunt u een haakje van het hele systeem implementeren. Ditartikel hoe voorbeeld doen.
Meer informatie
Een haakje systeemomvattende implementeren, moet u ervoor zorgen dat de functie hookedEr bestaat in een DLL (callbackfunctie). Wanneer deze functie isgenoemd, wijst het besturingssysteem de hooked DLL naar het doelde adresruimte van de toepassing. De werkelijke functie hooked en werkt alsonderdeel van de doeltoepassing.

Er zijn in feite twee stappen betrokken bij het maken van een haak systeemomvattende:
  1. Een DLL-bestand maken met een geëxporteerde functie die wordt gebruikt als de haakprocedure functie. De voorbeeldfunctie die volgt op is de functie terugbellen gemodelleerd na een callback-functie voor het implementeren van een WH_KEYBOARD hook voor het hele systeem:
          // 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. Het hele systeem haak installeren. Installeren van de haak moet het DLL-bestand worden geladen van de haakfunctie adres opgehaald en SetWindowsHookEx met de functie adres genoemd. Hier volgt een voorbeeld:
          // 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);						
    Na de toepassing van de haak systeemomvattende Zorg het hooking proces als volgt ongedaan:
          // Remove the hook and unload the DLL used for the hooking process      UnhookWindowsHookEx(hSystemHook);      FreeLibrary(hHookDll);						
4.00

Waarschuwing: dit artikel is automatisch vertaald

Eigenschappen

Artikel-id: 134655 - Laatst bijgewerkt: 07/12/2012 12:06:00 - Revisie: 4.0

Microsoft Win32-API

  • kbcode kbkernbase kbregistry kbmt KB134655 KbMtnl
Feedback