News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Winexplorer

Started by donkey, January 31, 2006, 02:14:00 PM

Previous topic - Next topic

ipadilla

Hi Donkey,

Winexplorer is running well under Windows 98 SE, now. Please see pictures.
Thankyou
ipadilla

[attachment deleted by admin]

donkey

Good to hear (and see) ipadilla,

I had forgotten that I addressed that problem quite some time ago, though the fix is still a mystery as I was doing a bug fix in another part of the program when the problem disappeared. The more interconnected and complex this once simple program becomes the more things like this happen.

I am currently considerring (by request) adding the first dependancy in the form of a DLL that will add the extension "open with WinExplorer" to the Windows Shell. A fairly complicated bit of COM programming but nothing too bad. Also editing is something that I am struggling with as I have not been able to come up with a good interface that will not involve a huge rewrite of the Hex Viewer and Registry Browser. Finally, I think it is time to add menus to the interface as I don't want to monopolize all of the available toolbar real estate, I am still hoping that someone comes up with a plug in or some suggestions of how to modify the source to make them easier to write or the interface more powerful.

Edgar
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

Roger

Hi Donkey,

I have WinExplorer up and running under XP and very nice it is too.

However when I try it under Win95 it fails to start and I get the message:-

        The WINEXPLORER>EXE file is
        linked to missing export KERNEL£".DLL:GetDiskFreeSpaceExA

The versions of Kernel32 I have are :-

        Win95      4.00.950
        WinXP      5.1.2600.2180

Can you tell me the minimum version of Kernel32 required for WinExplorer or the earliest that you have been able to seccessfully test it on?

I expect your reply will prompt the queston - Where can I get more recent versions of Kernel32 ( or any other DLL ) which are compatable with Win95?

Regards Roger

MichaelW

Quote
Windows NT Server 3.51 and earlier, and Windows 95:  Include an additional header file called NewAPIs.h to make GetDiskFreeSpaceEx available on these operating systems. The function is not implemented natively, but is implemented by a wrapper that uses other native functions on these systems. See the header file for details about using preprocessor directives that make the function available. If you do not have this header file, it can be obtained by downloading the most recent Windows® SDK from the SDK Update Site.

MSDN: GetFreeDiskSpaceEx

The wrapper function in NewAPIs.h essentially calls GetFreeDiskSpace and calculates appropriate return values.
eschew obfuscation

donkey

Hi Roger,

WinExplorer requires Window 98 or better, I have not actually tested it on Win9x at all but I usually check the functions to make sure they are available in 98. Also it requires a processor that supports the CMOVcc instruction as that is used in the program. I had taken it out but it's just so darn useful I put it back in. MMX/SSE may be required in an upcoming version as I am thinking about rewriting a couple of functions using MMX to speed things up a bit (mainly in the HexViewer).

I have tested on Windows 2K and XP, they are about the only versions that I support any more and the only virtual machines I have installed currently. Some others have run it on Windows 98 as far as I know.
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

Roger

Hi Michael & Donkey,

Thank you for your replies. Since I am running Win95 on an 486 it looks if I am stuck with creaky old Explorer.

Regards Roger

donkey

I have added file encryption and the ability to zip folders to WinExplorer. To use the folder zip function right click on a folder in the treeview and select "zip folder", you can choose to retain the folder structure and/or recurse the folder to include all sub folders. For the encryption, right click on a file in the listview choose "encrypt/decrypt" and follow the prompts, keys can be of any length but a 64 bit hash is generated from them so the key strength is still only 64 bit. BLF is the default file extension for encrypted files. The algorithm used is BlowFish, I wanted RC6 but could not negotiate a free license with RSA so I had to drop the idea. The encryption algorithm needs some work but is not bad for low end encryption needs, it would be better to have a dynamic key but I was too lazy to write the code. At any rate it is available at my website...

www.assembler.ca
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

Ehtyar

excellent excellent website donkey, thanks for sharing  :U :U

donkey

Hi All,

I have added the ability to veiw the names of any alternate data streams (ADS) on NTFS drives under Windows 2000+. I have not yet added the ability to open them or view them but that will come some day when I have more time to spend on it. For now the right click menu has a "Display streams" item that will open a listbox and display any stream data found, note that the ::$DATA stream is the default stream and is always present in files on NTFS drives. As usual the program is available from my website...

www.assembler.ca
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

donkey

I should note that I also added an option to the options dialog (ALT-O) that allows you to turn on or off displaying the number of ADS streams in the listview, it's fairly fast but it does impact load times so it was made into an option. If enabled you can view the number of streams in the rightmost column of the listview.

Donkey
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

donkey

There was a bug in the streams algorithm that has been corrected in a new upload to my website. I have also added the ability to view streams in the hex viewer and also to delete a stream from a file. The streams dialog has also been updated to reflect the new options.
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

donkey

I have further enhanced the streams dialog to include file size and an indicator if the stream data appears to be an executable file. Since the only way I can forsee a stream can actually be dangerous is if it is executable this will help in making a decision to delete the stream or not. New upload to my website...

www.assembler.ca
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

donkey

I have made a minor addition to WinExplorer that will display the drive geometry data on Win2K+ based systems, it is available at my website.

Donkey
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

ramguru

I'm currently making a mini file browser and one thing I can say safely is that ListView is not the right control to accept a list of files/directories. It makes a huge lag, custom-drawn listbox is a way to go, yep it's true, besides total commander uses listboxes too. Donkey, your winexplorer is great, but because of ListView it doesn't benefit from speed.

lingo

#44
ramguru,

"I can say safely is that ListView is not the right control to accept a list of files/directories.
It makes a huge lag, custom-drawn listbox is a way to go,..."


In my attached example I used virtual listview control
(class "SysListView32") and it will retrieve FASTER
ALL file names & attributes on your drive C:
You can click listview column headers to sort items before
the end of the file name scanning task too...
Please,  try  it against similar programs  to see the difference
and you can compare it for speed  too...

Regards,
Lingo


[attachment deleted by admin]