Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


sp193

Shell 95 Update Project (SH95UPD)

Recommended Posts

Thanks, the code may be of use, would certainly make work easier for me, but I was wondering, isn't it illegal to do a direct disassembly of SHELL32.DLL, and distribute it?

Share this post


Link to post
Share on other sites

You can skip those :)

They are comment with W98 etc, mostly stubs and not very optimized anyway. Feel free to PM me for questions to specific functions.

Share this post


Link to post
Share on other sites

You can leave those :)

They are comment with W98 etc, mostly stubs and not very optimized anyway. Maybe I'll replace them occasionally.

My proplem is mostly to find an application to test the apis, or write my own testing app.

Feel free to PM me for questions to specific functions.

Share this post


Link to post
Share on other sites

I do not know if this problem only applies to my computer, but did anyone else experience problems with Internet Explorer 6 after installing SH95UPD v0.0.4? The button icons disappear, but the browser appears to still function properly...

Edit: I'll remove the SHFlushSFCache function, as it seems to be the cause of the problem.

Edited by sp193

Share this post


Link to post
Share on other sites
What version of Windows 95 were you using? (Windows 95, Windows 95B...etc) And did you apply all availiable system updates from Microsoft? What was the error you received (can you give more details?)?

I use Windows 95 C (without Internet Explorer 4 and the Active Desktop). I have all availiable system updates from Microsoft installed.

The latest version of SH95UPD works fine :).

Edited by Sebijk

Share this post


Link to post
Share on other sites

Good to know that that it works, I may even extend SH95UPD to provide Kernel updating functionality like KernelEX for Windows 95 though... Thanks to all of SH95UPDs users and testers, but there would not be any more updates until somewhere in late October as I would not have access to my terminal. Very sorry for the inconvenience... :(

However, please continue to post here what functions that are still missing and I will try and see whether I can implement them once I regain access to my terminal after my End of Year examinations.

Edited by sp193

Share this post


Link to post
Share on other sites

LitePC (the makers of 98lite), did a version of the 95 shell for Windows 98.

It is basically a hack of the 95 shell, with win98 bitmaps, and a hack to use a renamed shell32.dll

it's called 'sleekv2.zip'.

Share this post


Link to post
Share on other sites

Well, no. Sleekv2 actually causes the win95 explorer to use SHELL32.W95(win95 shell32.dll renamed) instead of shell32.dll. The shell32.dll in the SYSTEM is then actually a win98 shell32. The win95 shell32 icons are unaltered by sleekv2, but explorer now looks for them in SHELL32.DLL(win98) not SHELL32.w95(win95 shell32), and is not an ideal solution as it may cause crashes(in explorer & other programs). That's why I created SH95UPD, to resolve the win95 shell32 missing exports problem, so that the win98 shell32 is no longer needed (Or at least reduce compatibility problems with other 3rd party programs.)

Resource hack shell32 to add the win98 icons.

Edited by sp193

Share this post


Link to post
Share on other sites

OK, for those who haven't heard - SH95UPD's development will have to be halted until late 2009(September-November?) as I would be taking one of my biggest examinations in my life which would affect my future(GCE 'O' levels)....

However, SH95UPD isn't dead, it would just lie dormant for about 7 months...

Anyway, for those who want the quick launch under the Win95 shell -> http://www.msfn.org/board/index.php?s=&amp...st&p=463508

For those who want to remove Internet Explorer, use IEradicator: http://www.litepc.com/ieradicator.html

*Note: IEradicator may remove files that are part of IE that may still be needed by certain programs(Like urlmon.dll). However, you can always re-extract them from your Windows98 installation disk. Also, some programs may check for an installed version of IE(Like MSN messenger)

Fix for IE version checking programs(Note that it's case sensitive):

Open REGEDIT and browse to "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer". In this key, create the string value named "Version" and give it the value "9.99.9999.9"

I wanted to find the shellswap script (Automatically swaps the Win98 shell for the Win95 shell) and post a link here, but I can't read my old backup diskettes from my WinXP installation...I'll see what I can find and upload next time...

I have already uploaded the source code for SH95UPD v0.0.5. It's a rushed release so there isn't any documentation and may have problems. However, it's very similar to KernelEx...

Meanwhile, please POST HERE what are the currently missing functions from the Win95 shell, so I can resume SH95UPD's development after September...

@betaluva: You can't really change the button's shape, but you can replace the icons with something more stylish using a resource editor like Reshack...

I DO know several functions that are currently missing/not 100% implemented:

SHGetNewLinkInfo

From an old thread: http://www.msfn.org/board/index.php?showtopic=51521&st=0

ExtractIconExW

Shell_NotifyIconW

Anymore functions to add? There ARE people who still use the Win95 shell right? =D

Edited by sp193

Share this post


Link to post
Share on other sites

I'm still using it !!! Haven't had a chance to try your extension yet...

Good luck on your examinations.

Share this post


Link to post
Share on other sites
Good luck on your examinations.

Thanks, snuz2.

Ok, I thought of doing a quick update on my slight progress(Slowly and quite poor I'm afraid)

I now have a private(buggy) build of SH95UPD(v0.06) that fixes the following(Or supposed to):

-Desk.cpl no longer needs to be hex-edited for it to work (Shell32 Ordinal 194 was relocated, replaced with the Win98 function SHCreatePropSheetExtArrayEx in its place, credit goes to Controller for supplying me with critical information)

-SHELL32.dll would now report itself as Shell32.dll 4.72.3612 (Hence no more programs complaining that shell32 is too old/identifying it as v4.00)

-DllGetVersion now has less redundant code

-SHGetNewLinkInfo is now an alias of Shell32 Ordinal 179 (Hence a proper, 100% working implementation)

-SHGetSpecialFolderPathA/SHGetSpecialFolderPathW are aliases of Shell32 Ordinal 175 (Less redundant code)

-SH95UPD's main executable is now UPX'ed (Hence reduced from ~80KB to ~40KB!)

-More redundant code from the main executable is also removed (some leftover functions from KernelEx)

Note: Please do NOT ask me for this private build(yet) as it may crash(Or cause damage to) some parts of your system(It still has large amounts of new, untested "technology")

However, a few new snags were hit, as I needed to add a new import to shell32.....(KernelEx 0.32a doesn't have that function, hence a switch to KEX 0.36 is necessary(Or a major rewrite is required)).

-SP193

Edited by sp193

Share this post


Link to post
Share on other sites
Shell 95 Update Project (SH95UPD)

-----------------------------------------------------

Description:

This project implements functions not found in the windows 95 shell from windows 98, allowing the users of 98lite (sleek), ROM, ROM2 to be able to once again run programs that would only work with the Windows 98 shell and not with the windows 95 shell.

This could be an official KerlenEx "plugin" then...

SH95UPD is based on the KernelEX project.

Currently is only tampers with SHELL32.DLL, making it more "Windows 98 compatible".

This project neither requires nor includes files from Windows 98, and does not distribute any copyrighted files.

Cool, but you must be more clear about licensing (GPL) on your website.

Even better: whay don't you get a sourceforge/savannah/freshmeat/berlios/Google Code page ?

/* EDIT 2009/03/18 */

***PUBLIC ANNOUNCEMENT***

- Ok, firstly, I apologize. As somewhere near September this year I will be taking one of the most important Examinations of my life, I will have to halt the development of SH95UPD(Until late 2009?). I would try to release the source soon, but I can't say when exactly(May be very late in the year). Although development is now halted, please continue to post suggestions here.

The source code is now released, but since it is a rushed release, please post any problems found here.

Getting an account on some of thoose open source projects hosting services could bring more developers that may help your project growth.

Last but not least remember that GPL forces derivative works (as yours) to release the sources, or you could be irregular or license violator...

Edited by patchworks

Share this post


Link to post
Share on other sites
This could be an official KerlenEx "plugin" then...

Well, maybe, but SH95UPD wasn't designed to be a plugin for KernelEx, but rather sit under KernelEx without KernelEx knowing that the SHELL32.DLL it is using is actually v4.00

However, it is possible, if you merge the patch codes of SH95UPD and KernelEx together as one....

Cool, but you must be more clear about licensing (GPL) on your website.

Ok, I'll make it a point for me to state that on my page during my next update.

Getting an account on some of thoose open source projects hosting services could bring more developers that may help your project growth.

Well, I'd rather keep this project small, but I welcome anyone else to modify the code and post any better versions here.

PS Update: I've managed to port KernelEx v0.36 code for this project, but the executable is huge(~170KB, compared to ~90KB).

New features of upcoming SH95UPD v0.0.7(Or rather new proposed features from v0.0.6):

-KernelEx 0.3.6 based

-Seperate uninstaller program programed under OpenWatcom(Resulting in a smaller footprint on systems after installation compared to it's predecessors)

-Smaller patch code, but now Shell32.dll would be linked to shlwapi.dll like shell32. v4.7x

SH95UPD v0.0.6 is the last build based on KernelEx 0.32a, and I may clean up the code and try to release a new beta update(Update to the aging v0.0.5!) ASAP....(Check the project page for updates!)

I know that it's bad posting many updates without posting a working executable, but I now cannot upload any of the new builds(v0.0.6/v0.0.7) as there are many bugs(Like after injecting new code for Ordinal 194, KernelEx would "break" shell32.dll, and the unpatched desk.cpl is still not working properly(Linked to ordinal 194))

The next update when I can really promise the MSFN community a new build is after my October GCE 'O' level examinations...

Edited by sp193

Share this post


Link to post
Share on other sites
Good to know that that it works, I may even extend SH95UPD to provide Kernel updating functionality like KernelEX for Windows 95 though...

KernelEx for Windows 95 would be great project without doubts. Will waiting for it with impatience. :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...