Hi guys,

the last week I have converted REGVIEW, a shell namespace extension sample from MS, to ASM. Such a code makes heavily usage of COM and it cannot be placed in 10 lines of code, so it is not always easy to understand. But I think its good as a base for own experiments.

Have a look at it and tell me what you think.

Posted on 2001-12-29 15:25:26 by japheth

I don't have nmake. Could you please include the assembled dll file so I can get an idea of how it works before I start to study the code?
Posted on 2001-12-30 03:40:16 by Qweerdy

the dll (NAMSPEXT.DLL) was included in the package.

I have played around with the code now for some time and found some memory leaks. So here is my improved version.
Posted on 2001-12-30 09:41:01 by japheth
So, here is my "last" version. Now all files are converted to ASM, some "optimization" has been done and the "last" bugs has been eliminated :) .

Please note: after registering the dll you should restart the shell

Posted on 2002-01-02 04:18:35 by japheth
How do I uninstall it?
Posted on 2002-01-03 04:42:17 by Qweerdy

Impossible, sorry.
Posted on 2002-01-03 05:34:49 by japheth
Asshole :mad:

Anyway, with that out of the way, this is what I did:
I removed the clsid manually from the registry (since resvr32 /u didn't work...), restarted, and deleted the icon from the desktop. I no longer see any of the modifications, but I just want to know: should this be all, or are there more things I should delete from my registry?
Posted on 2002-01-03 08:58:26 by Qweerdy

since you have asked so polite :) I'll give you a hint: look in proc DllRegisterServer (located in NamSpExt.asm). This proc does all the register stuff and should be easy to understand :) .

Posted on 2002-01-03 09:41:55 by japheth
:) Thanx

I only missed the "Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\%s" key, but when I looked, it was already gone! I guess Win98 deleted it when it found the clsid was deleted... big surprise there, I've never seen Win98 do anything so intelligent :cool:
Posted on 2002-01-03 11:36:52 by Qweerdy
Qweerdy: The shell namespace clsid didn't removed itself when you deleted the clsid for the dll. It removed itself when you deleted the icon from the desktop. Normally, you wouldn't have been able to delete it, but since the namspext clsid was removed, you were able to delete it.

japheth: Thanks a lot for bringing this sample, I used it a couple of years ago (the microsoft version) and lost track of it. It's great!
Your's even better! I'll look for the write enabled version or try to update it if I can get some time. Thanks again!

The registry is just full of surprises...
Posted on 2002-01-04 11:28:13 by Silas