Hodnota registru AppInit_DLLs a Windows 95

Překlady článku Překlady článku
ID článku: 134655 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Windows 95 nepodporuje načítání DLL do adresního prostoru procesu prostřednictvím použití hodnot registru AppInit_DLLs. V systému Windows NT pro každý proces spuštěn, načte WINDOWSNT dll uvedené v AppInit_DLLs hodnotu registru do prostoru adres v procesu. Podobná funkce v systému Windows 95 můžete implementovat zavěšení celý systém. Tento článek podle příklad ukazuje, jak to provést.

Další informace

Implementovat zavěšení celý systém, musíte zajistit, že funkce hooked (funkce zpětného volání) existuje v DLL. Potom volána funkce když tohoto operační systém mapuje hooked DLL do prostoru adresu cílové aplikace. Skutečná připojený funkce pak pracuje jako část procesu cílové aplikace.

Existují účastní vytváření zavěšení celý systém podstatě dva kroky:
  1. Vytvořit DLL s exportovaná funkce, která je použita jako hooking funkce. V následující ukázková funkce zpětného volání funkce modelovat po funkci zpětného volání požadovaných k implementaci WH_KEYBOARD celý systém zavěšení:
          // 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. Nainstalujte zavěšení celý systém. Nainstalovat zavěšení DLL musí být načten, adresa funkce zavěšení načteny, a SetWindowsHookEx volána s adresou na funkci. Zde je příklad:
          // 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);
    						
    po dokončení aplikace s zavěšení celý systém, nezapomeňte hooking proces způsobem zpět:
          // Remove the hook and unload the DLL used for the hooking process
          UnhookWindowsHookEx(hSystemHook);
          FreeLibrary(hHookDll);
    						

Vlastnosti

ID článku: 134655 - Poslední aktualizace: 1. března 2005 - Revize: 3.2
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Win32 Application Programming Interface na těchto platformách
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
Klíčová slova: 
kbmt kbcode kbkernbase kbregistry KB134655 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:134655
Právní omezení pro obsah znalostní báze týkající se produktů, jejichž podpora byla ukončena
Tento článek byl napsán o produktech, pro které společnost Microsoft již neposkytuje nadále podporu. Článek je tedy nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.

Dejte nám zpětnou vazbu

 

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