I added SubMenus so I thought I'd post my C# code in case anyone else needed that capability.
simconnect.MapClientEventToSimEvent(EVENTS.MENU_TOP, "");
simconnect.MapClientEventToSimEvent(EVENTS.MENU_FORM1, "");
simconnect.MapClientEventToSimEvent(EVENTS.MENU_FORM2, "");
simconnect.MapClientEventToSimEvent(EVENTS.MENU_FORM3, "");
simconnect.MapClientEventToSimEvent(EVENTS.MENU_SEPARATOR, "");
simconnect.MapClientEventToSimEvent(EVENTS.MENU_QUIT, "");
simconnect.MenuAddItem("EZCamViews", EVENTS.MENU_TOP, 10000);
simconnect.MenuAddSubItem(EVENTS.MENU_TOP, "Form 1 Window", EVENTS.MENU_FORM1, 10001);
simconnect.MenuAddSubItem(EVENTS.MENU_TOP, "Form 2 Window", EVENTS.MENU_FORM2, 10002);
simconnect.MenuAddSubItem(EVENTS.MENU_TOP, "Form 3 Window", EVENTS.MENU_FORM3, 10003);
simconnect.MenuAddSubItem(EVENTS.MENU_TOP, "---------------------------", EVENTS.MENU_SEPARATOR, 10004);
simconnect.MenuAddSubItem(EVENTS.MENU_TOP, "Quit", EVENTS.MENU_QUIT, 10005);
simconnect.AddClientEventToNotificationGroup(NOTIFICATION_GROUPS.GROUP_MENU, EVENTS.MENU_TOP, false);
simconnect.AddClientEventToNotificationGroup(NOTIFICATION_GROUPS.GROUP_MENU, EVENTS.MENU_FORM1, false);
simconnect.AddClientEventToNotificationGroup(NOTIFICATION_GROUPS.GROUP_MENU, EVENTS.MENU_FORM2, false);
simconnect.AddClientEventToNotificationGroup(NOTIFICATION_GROUPS.GROUP_MENU, EVENTS.MENU_FORM3, false);
simconnect.AddClientEventToNotificationGroup(NOTIFICATION_GROUPS.GROUP_MENU, EVENTS.MENU_SEPARATOR, false);
simconnect.AddClientEventToNotificationGroup(NOTIFICATION_GROUPS.GROUP_MENU, EVENTS.MENU_QUIT, false);
simconnect.SetNotificationGroupPriority(NOTIFICATION_GROUPS.GROUP_MENU, SimConnect.SIMCONNECT_GROUP_PRIORITY_HIGHEST);
Since there is no formal menu separator, we have to make our own.