ShellExecute Thread last updated on 2003-05-01 16:49:16

Posted by member 111 on 2003-05-01 11:35:47

I want to ask something to developers, but don't know where I can do it. I cannot use IRC because my English is bad and I cannot type in it clearly and quickly, other places are not so popular, so I'll try to ask here.

First thing is that there is a problem with the latest indie build and LS 0.24.7 b2, someone whose name is Juveman asks for solution on our site, I found that I have the same trouble too.
When you create a shortcut (.lnk) for any network connection (using control panel->Network and Dial-Up Connections) in Win2K (SP3), you cannot use it in any Litestep module instead the popup (and only in DirectoryFolder in popup). In label, shortcut2.dll, hotkeys or everithing else there is no answer on mouse/keyboard action, for example if I bind label's OnLeftClick to "c:\LiteStep\shortcuts\Internet.lnk" I see only "wait" mouse cursor and nothing else. Why? Because all modules use LSExecute(), but popup uses own routine for DirectoryFolder (or CommandItem, it doesn't matter).
I see that the main distinction is that LSExecute perform "open" action, but CommandItem::Invoke - NULL in ShellExecute() function. Network lnk's havn't "open" action, so may be therefore they cannot be open. But if I replace LSExecute call's "open" to NULL too - there is all OK.

So... so there are many different solutions for this problem - just to replace action string in LSExecute body, to control file extension and perform NULL action only with .lnk's, to force module dev's use the LSExecuteEx directly instead of LSExecute or ANYTHING else... Alone thing is common for these ways - please, fix the problem :)

If there is something non-understandable - sorry, just ask - I would reformulate the thought or the sentence.

Posted by member 7223 on 2003-05-01 16:15:00 link

You can use "!Command Internet.lnk" if you you lsxcommand

Posted by member 111 on 2003-05-01 16:49:16 link

uuuuuu... nop, I prefer to use patched version of lsapi.dll %)