shell shorcuts

Subhobroto Sinha subhobrotosinha at
Fri Jan 9 04:16:23 CST 2004

An HTML attachment was scrubbed...
-------------- next part --------------
One day thus spake Martin Fuchs:

>I am working on the ReactOS Explorer, which uses Wine's shell32 implementation.
>We already have made many bugfixes and estensions to the shell link and other
>shell32 code. One of those extensions is the implementation of control panel in
>shell namespace

I am already aware of that (thanks to Steve), and I would appreciate if someone could send me the changes/patches to shell32 by the ReactOS team (even if the source does not compile) so I can have a look..
Perhaps you can send me a zip of the ReactOS shell32 directory (keep the makefiles and .defs out - send just the real source :) ) ? That will be nice

>Well, I think it's because it has been defined wrong. I am currently using this

>#define SCF_UNICODE 0x80        (instead of 0x1000)

>This is at least compatible to links of WIN95 (ANSI strings) and WIN XP (UTF16 strings).
>I did not yet test any other operating system versions. With this corrected
>defintion and a few more extensions Stream_LoadString() works pretty well
>on ReactOS.

Hmm..., I KNOW 'SCF_UNICODE' is NOT 0x1000 in the first place, but why do you say it's 0x80 ?

Going by the copyrights, Marcus Meissner and Juergen Schmied did the initial job, and perhaps one of them put this value.
I don't know about Juergen, but I have tremendous faith in Marcus (I use SuSE you see ;) ), and there MUST have been some reason why 'SCF_UNICODE' got the value 0x1000, although it seems to be wrong !

Hence, please consolidate your assigning it 0x80 with some examples/hexedits so that I can answer when I get grilled ;)

However, I think that we should ALL handle strings as Unicode internally, and convert to ANSI when required, and NOT the other way round.
Hence, we will be compatible with Win98/ME/2K/XP, as that's what M$ does...
If you see my code carefully, you will notice that EVERYTHING is handled as Unicode internally.

The flag 'SCF_UNICODE' is used to test the bit mask and determine if the .lnk is serialized in Unicode or not...
I am pretty sure that Windows >95 handle EVERYTHING in Unicode, and thus a wrong value of 'SCF_UNICODE' will ONLY mess up Win95 .lnk files !

If you can consolidate your defining 'SCF_UNICODE' as 0x80, I will ONLY be too happy to incorporate that, else those still using Win95 (?) may suffer, as Win95 handles strings as ANSI and not Unicode...

Will send Alexandre my patch within the next few days as no one has objected to it being messy, so take the last chance ;)

BTW Martin, great work with ROSExplorer, keep at it, and one day WINE will have a complete Desktop with shell namespaces !


Subhobroto Sinha 

More information about the wine-devel mailing list