Great job, thanks! New default for expanded view is better too, in my opinion.
One thing is not quite clear to me, thought I should ask: why are module name and path duplicated for each exported function in the list? Seems like waste of resources. In case they would point to a forwarded module then it may be best to keep those columns empty for currently loaded module name and path, and only fill them in if a forwarding is encountered. Please correct me if I'm wrong.
Further suggestions:
- display currently loaded module name in main window title (i.e. Dll Export Viewer [msvcr120.dll] or something)
- add a small search box for the expanded view's list
- add a module count for the expanded view's list (optional)
- add a code-to-function search box, useful in debugging; explanation: type or paste a code address (such as the one returned by the system error report) and it will show the function it belongs to (see my first screenshot and error report about kernel32 -> WideCharToMultiByte)
- for a cleaner display show undecorated names by default in the list and display the full decorated names in the details dialog
Unrelated (just caught your discussion with
just me): did you ever try my
VersionInfo Lister for icons? Can't test it in x64 myself, I wonder if it works (correctly or at all). Might help with icon group <=> icon index issue.
[EDIT]
Would it be enough to use if (DllFile = "imagehlp.dll") -> LoadLibrary("imagehlp.dll")? Can you test it?
The library
imagehlp.dll should be preloaded from the very start of the script, for it to work (in XP). I added it to
GetDllExports() in desperation but best would be to preload it at script start and free the library on exit, instead of load/unload for each selected library. Sorry for the confusion.