Kayıt defteri değeri AppInit_DLLs ve Windows 95

Makale çevirileri Makale çevirileri
Makale numarası: 134655 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Özet

Windows 95 AppInit_DLLs kayıt defteri değeri, bir işlemin adres alanı içine bir DLL DOSYASıNıN yüklenmesini desteklemez. Windows NT'DE, Windows NT işlemin adres alanına AppInit_DLLs kayıt defterinde listelenen DLL'ler, yürütülen her işlem için yükler. Windows 95'te benzer işlevler için sistem genelinde bir kanca uygulayabilirsiniz. Bu makalede, örnek nasıl yapacağınızı gösterir.

Daha fazla bilgi

Bir sistem genelinde kanca uygulamak için <a0></a0>, hooked işlevi (geri arama işlevi) bir DLL dosyasında bulunduğundan emin olmalısınız. Bu zaman işlev olarak adlandırılır sonra işletim sistemini hedef uygulamanın adres alanına hooked DLL eşleştirir. Fiili işlevi sayfaya sonra hedef uygulama işleminin bir parçası çalışır.

Ilgili bir sistem genelinde kanca oluşturmada temel olarak iki adımı vardır:
  1. Bir DLL hooking işlev olarak kullanılan, verilen bir işlev oluşturun. Aşağıdaki örnek işlevi, bir geri çağırma işlevi bir WH_KEYBOARD uygulamak için gerekli sonra geri arama işlevini modellenmiştir sistem genelinde kanca:
          // 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. Sistem genelinde kanca yükleyin. Kanca yüklemek için <a0></a0>, DLL, alınan, kanca işlev adresi yüklenmelidir ve SetWindowsHookEx işlevin adresi olarak adlandırılır. Aşağıda bir örnek:
          // 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);
    						
    uygulama ile sistem genelinde kanca işlemi once gibi hooking işlemini geri almak dikkat:
          // Remove the hook and unload the DLL used for the hooking process
          UnhookWindowsHookEx(hSystemHook);
          FreeLibrary(hHookDll);
    						

Özellikler

Makale numarası: 134655 - Last Review: 1 Mart 2005 Salı - Gözden geçirme: 3.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Win32 Uygulama Programlama Arabirimi, Ne zaman ne ile kullanilir:
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
Anahtar Kelimeler: 
kbmt kbcode kbkernbase kbregistry KB134655 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:134655
Kullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.

Geri Bildirim Ver

 

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