I posted this over at the other forum and thought it would be useful to post here as well. It is a test bed that has grown rather large but still demonstrates some useful concepts. The program is an explorer-like file browser that has alot of functions that programmers would find useful and a plugin interface for anything that I missed. Any suggestions or comments are welcome and plugins are very welcome though the interface is far from complete.


I have moved the file to my website.
Posted on 2006-02-18 22:30:10 by donkey
the format of displaying filetime need to be changed according as a language environment.

Posted on 2006-02-19 06:01:28 by dcskm4200
Hi dcskm4200,

I left out locale specific formatting because mine looked bad when I used it and I decided to go with a fixed format, I might make it an option in the next upload.

Posted on 2006-02-19 07:35:11 by donkey
Hi Edgar, great work!

some issues though:

- viewing 'Drive properties' information for cdrom or any other removable media drive shows a dialog with some random values despite that there is no media in the drive.
- also setting favorite on any removable media drive when no media loaded and later doing "Open favorite folder" gives some weird results on the files treeview.
- cpu speed is wrongly reported for my PIII 933MHz. I am getting 889.843MHz. And processor string shown as some non ascii characters.
Posted on 2006-02-19 21:48:59 by arafel
Due to the board being down, the version here got out of sync with the latest, I have moved it off-board and linked to it, that way I don't have to keep editing links.
Posted on 2006-02-28 06:49:00 by donkey
I have added a few things since I last posted here, the major one is a MRU list for recently used files. If you delete the key HKEY_CURRENT_USER\Software\Donkey\WinExplorer it will display the button automatically. Otherwise just double click the toolbar and add it where-ever you like. I added expansion for SZ_EXPAND strings in the simple registry browser when viewing them in Value Details (double click a value in the listview). You can change the date and time format, though you have to do it manually in RegEdit by modifying the DateFormat and TimeFormat keys to match your locale, the keys follow the format for the GetTimeFormat and GetDateFormat functions.

Still trying to track down 2 bugs:
1 - The registry browser has trouble with unnamed keys (it will assume there are subkeys forever)
2 - The hex viewer crashed once, I wish I could remember the file. Probably read past the end of the page.

Still thinking about:
1. A simple disassembler to disassemble exports from PE files
2. Allowing edits to the registry
3. Allowing edits in the hex viewer
4. More extensive machine info using the WMI interface
5. Addin for RadASM

Probably alot of other stuff in there I forgot to mention as I am always tinkering with it, any way have fun.

Posted on 2006-03-19 04:07:03 by donkey
Found the file that was causing the hex viewer to crash, it was ntuser.dat, the problem was as I suspected reading 3 bytes past the end of the mapfile object. The bug has been corrected and a new version uploaded.
Posted on 2006-03-20 23:46:51 by donkey

Very nice. I finally got a chance to check it out and realized I was long since outdated. I've got the new version and everything looks great. Only one suggestion (there's always a suggestion isn't there?), when you double click the toolbar to add items, it would be nice to be able to add external applications to that list. The ideal form of adding would allow you to use an internal variable for the file that is currently selected. Ideally something like:

${F} - full file name
${f} - filename/no extention
${P} - current directory

With those three added to a parser and a simple dialog box to all you to select files, users could easily do things like:

c:\nasm32\nasmw.exe -fwin32 -o "${f}.obj" "${F}"

And name the item 'Assemble File', of course the icon would be that of whatever the primary application is (or if you wish to take an easier route just have the select from a list of internal icons) and that icon could appear in the toolbar. Just a suggestion. :mrgreen: Btw, it actually made my taskbar (which is only populated by programs that I use religiously) ;)

Bryant Keller
Posted on 2006-03-21 01:55:38 by Synfire
Hi Bryant,

That's a good idea and I will add it, the icon is not a problem it can be taken from any source through the pick icon dialog from common dialogs (available in XP+ and as an ordinal in earlier versions). The parser won't be too difficult, just have to use my szCatPlus function to parse the string in the format "MyApp.exe %0 %1 ... %9". A task bar type interface should be perfectly possible and I will look at adding it this weekend.

Posted on 2006-03-21 07:32:35 by donkey

Great man. The parser isn't difficult at all, the syntax I used for the parser was just the first one that jumped into my mind, and believe it or not is the parser which I used for DevIDE when I first made it. If I think of anything else I'll be sure to reply back, but as of that I'm a total blank atm  :D

Bryant Keller
Posted on 2006-03-21 13:34:39 by Synfire
Hi All,

I needed to be able to copy lines from the "Simple Hex Viewer" today so I added that functionality, you can copy multiple non-sequential lines, blocks or single lines. Probably not something that many will find useful, even I'm doubtful outside of needing it for an email to point out a problem in a DOS stub, but it's in there now.

Posted on 2006-03-23 22:38:46 by donkey
I have added an options dialog (ALT-O) that allows you to set previously fixed options. The issue of date formats has been handled in the dialog using EnumDateFormats to list all user date/time formats, you can also enter a custom one if you like.
Posted on 2006-03-29 08:01:01 by donkey
The issue of date formats has been handled in the dialog

That works OK.

next update:
the Localnet disks(shared) could be seen on your WinExplorer.

continue your great work.
Posted on 2006-03-29 09:19:54 by dcskm4200
Hi Donkey
It would be very helpful if WinExporer can support ADS (Alternative Data Streams) in some way, i.e. if the streams could be shown and deleted from the right pane.
A button on the toolbar can (de)activate the showing of the ADS. This button should be deactivated for systems that don't support this feature.



Posted on 2006-04-13 01:17:40 by Biterider
Hi Biterider,

I am not sure exactly what you mean, however, there is a primitive plugin interface that I can expand in order to allow you what you need for a plugin to do what you want. That way you can tailor it directly to your needs. Right now I am working on a RadASM project summary dialog, file zipping and RC6 file encryption for the next release. The encryption is finished as well as the zip calls (thanks to the help of Ketil), the RadASM project viewer will be done as a plugin. Just have to pull everything together and test it on the weekend.
Posted on 2006-04-13 06:05:23 by donkey
donkey, Alternate Data Streams are a feature of the NTFS filesystem - you open a file like "myfile:mystream", which allows you to have multiple streams of data associated with one file. Things like Indexing Service, kaspersky antivirus, etc. use this. Iirc, ADS are also used if you write stuff in the "summary" tab in file properties.

There's no WIN32 API for enumerating and manipulate ADS (apart from the colon syntax with CreateFile), but I believe www.sysinternals.com has some code that shows how to do it.

PS: doesn't use of RC6 require a license? :(
Posted on 2006-04-13 06:09:58 by f0dder
Hi f0dder,

I am in contact with RSA in order to obtain a royalty free license for the algorithm, though I have not recieve a license yet the actual version of WinExplorer with it included will not be released until I obtain one. RSA does provide royalty free licenses and I don't see any problem with getting one but will switch algorithms if I am not granted one.

Posted on 2006-04-13 06:16:34 by donkey
Oooh :)

What's the required process to obtain such a license? I guess one requirement would be non-commercial work?

I like RC6 because of it's relative simplicity and lack of huge pre-computed tables (s-boxes or whatever), but tend to use AES/Rijndael because it's The Standard (TM).
Posted on 2006-04-13 06:22:01 by f0dder
Hi f0dder,

I just emailed a sales representative, I had read this in a bit of software I own...

As part of the AES process, RSA Security has also agreed to grant to any interested party a royalty-free license to the RC6 algorithm if the algorithm is selected for inclusion in the Advanced Encryption Standard
Posted on 2006-04-13 06:28:19 by donkey
Hi Donkey
Sorry, Iíll try it again  :sad:
What I mean is if it is possible to see on the right pane the ADSs attached to a file, perhaps in a different color or whatever and that the user can delete them as if they were usual files.

Posted on 2006-04-13 06:53:56 by Biterider