Concerning the wrongly shown file extensions.
The above screenshots about .bat registered but dialog
shows additional extensions being registered.
This drove me some nuts.
Whenever I tried to do the same with python and ctypes it worked but
npp showed clearly it isn’t.
I assume I finally understood what the issue is,
it is within RegExtDlg::getRegisteredExts()
There is no check if RegOpenKeyEx or RegQueryValueEx succeeded or failed but
one could assume that it isn’t necessary as the next if clause checks the previously
generated variables valType and valData and if the two reg calls fail then
those two variables are invalid.
Well, I don’t think this is the case. If I understood correctly what I read it happens
that those variables hold the state from the last successful registry calls
and I guess this explains very well why we see what we see.
So in theory a modification like
...
TCHAR valData[extNameLen]{'\0'};
...
int valType = 0;
should do the trick.
Can someone with a more solid c++ knowledge confirm if this is the case?
Thank you and cheers
Claudia