I will test your solution, and I think it will work.
To see how unpredictable the menu-system is, you can try this:
In the menu of a top-level form, put this code:
Define Bar 02 Of (a_menupops[1]) Prompt "CNN"
ON SELECTION BAR 02 OF (a_menupops[1]) do www with "
www.cnn.com"
Define Bar 03 Of (a_menupops[1]) Prompt "Notepad"
ON SELECTION BAR 03 OF (a_menupops[1]) run /N notepad.exe
www.prg goes like this:
lparameter m.html
DECLARE INTEGER ShellExecute IN "Shell32.dll" ;
INTEGER hwnd, ;
STRING lpVerb, ;
STRING lpFile, ;
STRING lpParameters, ;
STRING lpDirectory, ;
LONG nShowCmd
=Shellexecute(0,"Open",alltrim(m.html),"","",0)
Now you can select "CNN" and "Notepad" initiating the menu with the keyboard, and with the mouse. You did not guess this behavior. :-)
Rolf