First I had to learn COM (Aaaahhg!!!...), then learnt to translate COM to C++. (Learning COM was the hardest part since I had to hire some computer time from our local computer parlour which has Windows boxes alongwith VC++, and then I had to juggle to and forth from there to home after my college hours..)
Then created my OWN Win32 app (from scratch..) to read and resolve .lnk files. Then translated the Win32 app to PURE C++, so that it ran under GNU/Linux...
Then applied the knowledge to Wine, and got the IPersistFile::Load() working...
So the attachment "ShellLink.zip" contains the modified "dll/shell32/shellink.c" file which fixes the BUG in Load().
Sorry, but it's the WHOLE file. I have changed the original file so much that to submit a proper patch I need an unmodified "shelllink.c" (I do have a backup, but where was that ?)
So in the meantime befor I submit a proper patch, check it out.
Instructions: (duh!) --------------------
Just create a backup of the existing "shelllink.c" and then copy this attached "shelllink.c" to "dlls/shell32/shelllink.c" Type 'make'; copy the new "shell32.dll.so" to your installed wine folder (you should be root), and run any program which resolves shortcuts.
You can try the "linkresolve.exe.so" (from my previous posts. See the archvies..) or WineMenuBuilder.
Hoping to recive reports soon (send them at [subhobrotosinha at yahoo.com]
Regards
Subhobroto Sinha
__________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com