Jump to content

Win95 - How to get programs to open your default web browser


BenoitRen

Recommended Posts

There's one side-effect to having an IE-free installation: programs don't open your default browser anymore. At least, not all of them.

To open desktop shortcuts, SHLWAPI.DLL is needed. I copied that from a cabinet file. The default web browser is specified in HKEY_CLASSES_ROOT, under the HTTP entry. SeaMonkey has set it correctly. I've done some research, and I find references to the ShellExecute API, which looks at the HTTP entry for web addresses. It's in shell32.dll. Okay.

The two programs that won't open my default web browser are AIM 4.8 and aMSN.

When clicking a link in AIM, it says that it can't find the application for tthe "http" protocol. I've run Dependancy Walker on it. It also uses an IE file called mswebapi.dll. I copied that over, but I still have the same issue.

Of course, you can specify the application in that dialog box. But that doesn't help at all. Clicking a link doesn't do anything after I do that.

aMSN plain doesn't do anything, and its configuration options for applications are weird. It works with a variable that holds the URL, placed after an application name. That didn't work. I placed the full path before the application. That didn't work either.

Does anyone have a clue as to what might be wrong, or what strange methods some programs use to open a link in your default web browser?

Link to comment
Share on other sites


Good suggestion! Okay, did that, and it looks like it didn't find a string called "URL Protocol" under the http key in HKEY_CLASSES_ROOT, and then closed it.

I added that key, and then it presents me with this:

2.45521045	Aim:FFF34515	OpenKey	HKCR\http	SUCCESS	hKey: 0xC1191630	
2.45526409 Aim:FFF34515 QueryValueEx HKCR\http\URL Protocol SUCCESS ""
2.45530319 Aim:FFF34515 OpenKey HKCR\http\shell\open\ddeexec\Application NOTFOUND
2.45541286 Aim:FFF34515 OpenKey HKCR\http\shell\open\command SUCCESS hKey: 0xC11CF16C
2.45546484 Aim:FFF34515 EnumValue HKCR\http\shell\open\command SUCCESS : "C:\PROGRA~1\MOZILLA\SEAMON~1.EXE -url "%1""
2.45667362 Aim:FFF34515 CloseKey HKCR\http SUCCESS
2.45670724 Aim:FFF34515 CloseKey HKCR\http\shell\open\command SUCCESS
2.45685291 Aim:FFF34515 OpenKey HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks NOTFOUND
2.45953274 Aim:FFF34515 OpenKey HKLM\Software\Microsoft\Windows\CurrentVersion SUCCESS hKey: 0xC11CF16C
2.45958400 Aim:FFF34515 QueryValueEx HKLM\Software\Microsoft\Windows\CurrentVersion\SubVersionNumber SUCCESS 20 43 0
2.45961452 Aim:FFF34515 CloseKey HKLM\Software\Microsoft\Windows\CurrentVersion SUCCESS

I tried to fill in the ddeexec keys it asked for, but with no success. I searched the Internet for documentation on it, without much luck. I found one file from the browser wars that presented a registry registration file to make IE the default browser, but in the end it didn't help.

Does anyone know the required structure? What I find the most interesting is this ShellExecuteHooks thing, I'll be looking for info on that. It might be the key.

Link to comment
Share on other sites

I found the required structure in HKEY_CLASSES_ROOT. Somehow SeaMonkey added the values there under strings that had the name of what the path should have been. So, the ddeexec stuff is covered. AIM is still looking for ShellExecuteHooks, though. I found out that usually shell32.dll is listed there along with a CLSID, but I need to have specific info.

Output is now:

2.60768318	Aim:FFF34515	OpenKey	HKCR\http	SUCCESS	hKey: 0xC11D8240	
2.60773754 Aim:FFF34515 QueryValueEx HKCR\http\URL Protocol SUCCESS ""
2.60780811 Aim:FFF34515 OpenKey HKCR\http\shell\open\ddeexec\Application SUCCESS hKey: 0xC11EE194
2.60785437 Aim:FFF34515 EnumValue HKCR\http\shell\open\ddeexec\Application SUCCESS : "SeaMonkey"
2.60791612 Aim:FFF34515 OpenKey HKCR\http\shell\open\command SUCCESS hKey: 0xC11EE53C
2.60794878 Aim:FFF34515 EnumValue HKCR\http\shell\open\command MOREDATA
2.60897517 Aim:FFF34515 CloseKey HKCR\http SUCCESS
2.60900474 Aim:FFF34515 CloseKey HKCR\http\shell\open\command SUCCESS
2.60903358 Aim:FFF34515 CloseKey HKCR\http\shell\open\ddeexec\Application SUCCESS
2.60921764 Aim:FFF34515 OpenKey HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks SUCCESS hKey: 0xC11EE194
2.60925293 Aim:FFF34515 EnumValue HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks NOMORE
2.60928488 Aim:FFF34515 CloseKey HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks SUCCESS
2.61210728 Aim:FFF34515 OpenKey HKLM\Software\Microsoft\Windows\CurrentVersion SUCCESS hKey: 0xC11EE194
2.61215854 Aim:FFF34515 QueryValueEx HKLM\Software\Microsoft\Windows\CurrentVersion\SubVersionNumber SUCCESS 20 43 0
2.61218882 Aim:FFF34515 CloseKey HKLM\Software\Microsoft\Windows\CurrentVersion SUCCESS

Link to comment
Share on other sites

I DID IT!

I read Nathan Lineback's couple of lines about this again, and saw that I needed URL.DLL. Then I learned through this page that URL.DLL is what should be listed in ShellExecuteHooks, and has to be registered as well: http://www.club.cc.cmu.edu/pub/gnu/windows...todo/browse-url

The problem then was finding out how to create a CLSID for URL.DLL, and any other values needed. But I didn't find information anywhere. I only found a reference to the fact that Netscape installs the ShellExecuteHooks value in the wrong places, that was already mentioned on the page I linked.

So, I installed Netscape 3, copied the ShellExecuteHooks reference to the proper one under HKEY_LOCAL_MACHINE, and then it worked!

Now to clean all the mess Netscape 3 left in the registry after uninstallation...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...