Posted On 2018-02-22 by RDE
Tags: VB6 Complete Applications VB6 Files and I/O VB6 Classes Windows
Views: 120

Title Uploaded Size 2/22/2018 6:47:32 AM 431,228

ZipSearch simulates the Windows search utility and extends on it to include zip file contents. Searches are based on name matching, and can also perform date and size filtering. Limited wildcard characters are supported for matching of folder and file names. Searches within file text supports multi-line, case-sensitive and case-insensitive matching, as well as whole-word-only searches. This tool can also perform searches within the text content of zipped files.

It can search within multiple locations simultaneously, and search to any sub-folder depth. Files and folders can be selected for exclusion from searches. Also, it catalogues all searched locations so subsequent searches are lightning fast.

This utility does not discard the results of the searches it performs, allowing the navigation of search results within the utility without losing the original list of results. Up to thirty searches can be performed before the oldest results are over-written by subsequent searches. More advanced search filtering can be achieved by merging the common items from the result of the multiple searches.

ZipSearch remembers all your settings. You can define groups of multiple paths for searching. The tree and list respond to the scroll wheel without the need to click on them first. File system monitoring updates ZipSearch as changes are made outside of the program. The interface remains responsive to user actions at all times, and allows access to search result items even as the search continues.

ZipSearch combines Shell change notification with the file system, removable media like CDs and DVDs, memory sticks, and USB drives to respond to all changes both in the search class and the GUI dynamically.

ZipSearch uses Info-Zip's Unzip32.dll to open zipped files for content searching and making zipped files available for display. Unzip32.dll is freely available at ZipSearch also utilizes Alexander Roshal's Unrar.dll freely available at


  • XP Styles thanks to Amer Tahir.
  • Auto-complete thanks to Dan Redding.
  • String comparison thanks to Ralph Eastwood.
  • Thanks also to Norm Cook for inspiration from his brilliant ListView-FileListBox.
  • Shell change notification module thanks to Louis -

Change History

Revision 1.4.1 - 1 Sept 2016

Improved opening multiple selected files into file viewer. Added by request the option to filter between selected dates, and between selected sizes.

Revision 1.4.2 - 26 Sept 2017

Fixed a couple of minor bugs. Revision prompted by the addition of many assembler functions to replace VB's slow string handling - noticable speed improvement. Added file Update context menu item - select files of the same name in the ListView, right-click and select Update to replace old versions of the same file name with the most recently modified.

Revision 1.4.3 - 16 Feb 2018

The speed improvements of revision 1.4.2 prompted the replacement of a couple more slow routines with assembler functions. The format file size routine previously required multiple floating point calculations per loop iteration, as well as string concatenation. Now only one string allocation and no floats, calculated with assembler - 10 times faster! The format file time required multiple file time api's and string concatenation. Now two api's (to local system time) and one string allocation, formated in assembler.

Working pretty well now. Suggestions and bug reports welcome (please email me error logs). Happy coding, Rd :)

Special Instructions

Rename the files .dat -> .dll

unzip32.dat -> unzip32.dll (

I discovered the new version of unrar.dll 5.4 is not compatible with previous version 5.1. I haven't updated ZipSearch yet to use the new one so we must use the old one included:

unrar.dat -> unrar.dll (

About the Author

RDE has posted a total of 2 articles.

Comments On This Post

No comments on this post yet!

Do you have a thought relating to this post? You can post your comment here. If you have an unrelated question, you can use the Q&A section to ask it.

Or you can drop a note to the administrators if you're not sure where you should post.

Your IP address is:

Before you can post, you need to prove you are human. If you log in, this test goes away.

Code Links