windows dll handling goes with counters, that is, n processes uses a dll, if one of the processes quit (and if it quit correctly, this is important) the users of the dll goes to n-1, when n=0, windows will unload the dll, quite simple until here right?
problems comes from this theorically perfect world when running it practically, such as programs not telling the system to telling windows to substract when quitting, programs registering more than once to use a dll... well, you can wonder about many more (i must say that typically is not windows fault, though sometimes windows wait some time before unload the dll, or dont unload at all - very rare) of course there are ways to try to detect and correct it such as waiting some time monitoring the dll activity and so on... summarizing: 1.- take in count that unregistering is not the same as unloading, so, after unregistering, restart the pc (very probable the problem comes from that since the dll is registered to the windows explorer) 2.- being attached to the explorer, anything can go wrong to try to unload the dll since explorer.exe is the base for almost anything, including the desktop, so: open the task manager (win200 & xp), locate explorer.exe in the processes tab and kill it, then open menu file/run and run the command line (cmd.exe), erase the pspad dll from there, which should be unloaded without the explorer process running, finally, either from command line or from menu file/run, run the explorer again (explorer.exe), this should have almost 100% success probabilities 3.- failure to #3, is still posible, restarting in command line mode to erase the conflictive registered dll (no explorer load = no pspad dll load unless something VERY weird happened when registering) if #1 dont work, try #2, if #2 dont work, try #3 hth -- <http://forum.pspad.com/read.php?2,29128,29227> PSPad freeware editor http://www.pspad.com
