Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit onderwerp wordt uitgelegd hoe u fouten kunt opsporen in shell- en naamruimte-extensie-DLL's.
- shell uitvoeren onder een foutopsporingsprogramma
- Shell-extensies uitvoeren en testen
- het DLL ontladen
Shell uitvoeren onder een debugger
Als u fouten in uw extensie wilt opsporen, moet u de Shell uitvoeren vanuit het foutopsporingsprogramma. Volg deze stappen:
Laad het project van de extensie in het foutopsporingsprogramma, maar voer het niet uit.
Sluit de Shell af.
- Voor Windows Vista en hoger:
- Toon het Startmenu.
- Druk op Ctrl+Shift en klik met de rechtermuisknop op de achtergrond van de rechter helft van het menu Start.
- Kies in het menu dat wordt weergegeven Exit Explorer.
- Voor Windows XP:
- Kies in het menu StartAfsluiten.
- Druk op Ctrl+Alt+Shift en klik op Geen in het dialoogvenster Windows- afsluiten.
De Shell is nu afgesloten, maar alle andere toepassingen worden nog steeds uitgevoerd, inclusief het foutopsporingsprogramma.
- Voor Windows Vista en hoger:
Stel het foutopsporingsprogramma in om het extensie-DLL-bestand uit te voeren met Explorer.exe uit de map Windows.
Voer het project uit vanuit het foutopsporingsprogramma. De Shell wordt zoals gebruikelijk gestart, maar het foutopsporingsprogramma wordt gekoppeld aan het shell-proces.
Shell-extensies uitvoeren en testen
U kunt uw extensies uitvoeren en testen in een afzonderlijk Windows Verkenner-proces om te voorkomen dat u het bureaublad en de taakbalk stopt en opnieuw start. Uw bureaublad en taakbalk kunnen nog steeds worden gebruikt terwijl u de extensies uitvoert en test.
Als u deze functie wilt inschakelen, voegt u de volgende REG_DWORD vermelding toe aan het register.
HKEY_CURRENT_USER
Software
Microsoft
Windows
CurrentVersion
Explorer
DesktopProcess = 1
Als deze vermelding van kracht wordt, moet u zich afmelden en opnieuw aanmelden. Deze instelling zorgt ervoor dat de bureaublad- en taakbalkvensters in één Explorer.exe proces worden gemaakt en dat alle andere Vensters verkenner en mapvensters in een ander Explorer.exe proces worden geopend.
Naast het handiger maken van het uitvoeren en testen van uw extensies, maakt deze instelling het bureaublad ook robuuster omdat het betrekking heeft op Shell-extensies. Veel dergelijke extensies (bijvoorbeeld snelkoppelingsmenu-extensies) worden geladen in het niet-desktopproces Explorer.exe. Als dit proces wordt beëindigd, worden de bureaublad- en taakbalk niet beïnvloed en wordt het beëindigde proces opnieuw gemaakt in het volgende verkenner- of mapvenster.
Het ontladen van de DLL
De Shell verwijdert automatisch een DLL wanneer het aantal gebruiksrechten nul is, maar pas nadat de DLL gedurende een bepaalde periode niet is gebruikt. Deze inactieve periode kan soms onacceptabel zijn, met name wanneer er fouten in een Shell-extensie-DLL worden opgespoord. U kunt de inactieve periode verkorten door de volgende informatie toe te voegen aan het register.
HKEY_LOCAL_MACHINE
Software
Microsoft
Windows
CurrentVersion
Explorer
AlwaysUnloadDll