Please enable JavaScript to view this site.

Thread Validator Help

Navigation: The User Interface > Settings > Global Settings > Third Party DLLs

UI Global Hook DLLs

Scroll Prev Top Next More


The User Interface Global Hook DLLs page allows you to detect and specify global hook DLLs that may not be wanted in the Thread Validator user interface process.





About global hook DLLS


Some third party products such as storage devices and video cards are supplied with software to help integrate the hardware device into the computer desktop environment.


An example is the Iomega® Zip® drive. This uses a global hookexternalLink via the IMGHOOK.DLL which allows the browse for files and browse for folders interfaces to correctly display all the storage devices on the computer, including the zip drive and any special options for the drive.


Some global (or system) hook DLLs can interfere with the correct operation of Thread Validator when it inserts hooks into the target program, (although the IMGHOOK.DLL mentioned above doesn't).


The settings below allow you to specify and/or detect DLLs that should be treated as global hookexternalLink DLLs.


Any DLL listed will fail to load into the target program when loaded via LoadLibrary() or LoadLibraryEx().


For situations where the hook DLL is already present in the target program, it can optionally be forcibly unloaded. This may happen if it was loaded before Thread Validator attached to the process.



The user interface hook DLL loading rule


The default behaviour is not to allow the global hooks to load, but you can change this if necessary:


Allow all global hooks to load instructionStep allows all global hook DLLs to load into Thread Validator


Do not allow any global hooks to load instructionStep prevent any global hook DLLs from loading (the default)

Use the list of dlls shown instructionStep provide per-DLL control over which DLLs load or don't load via the User Interface Global Hook DLLs list


Any global hook DLLs not listed will result in the user being asked for permission to load a DLL via the Global Hook Warning Dialog below.



Managing user interface global hook DLLs


Add DLL... instructionStep browse and select one or more DLLs instructionStep Open instructionStep adds the chosen DLLs to the Global Hook DLLs list


Having added a DLL to the list, you can change whether the DLL is allowed to load or not, by double clicking in the second column and changing the value: Load or Don't load.


Remove instructionStep removes any selected DLL from the list


Remove All instructionStep removes all DLLs from the list



Auto detecting global hook DLLs


Thread Validator can detect any DLLs in its own process that are not ones it uses itself. Such DLLs are likely to be global hook DLLs:


Auto Detect instructionStep automatically detect DLLs which may be global hook DLLs, adding them to the Global Hook DLLs list



Global Hook Warning Dialog


When the global hook loading rule above is set to Use the list of dlls shown, the Allow load column controls whether the hook DLL is loaded.


When a global hook is loaded that is not on the list of known global hooks, the user is presented with a warning dialog like that shown below.


The user can then accept or block the global hook from loading. The dialog lists a couple of known problematic DLLs.





Help instructionStep displays this help page

Yes instructionStep lets the DLL load

No instructionStep blocks the DLL


Your response is automatically recorded in the Global Hook DLLs list, so that you won't be asked again.



Reset All - Resets all global settings, not just those on the current page.



Reset - Resets the settings on the current page.