Menus are different, and need to be accessed using a different methodology, explained below...
There is a GetMenu API function that you can use, you pass it the window handle that contains the menu (Im guessing main FireFox window). That gives you a handle to the menu, where you would have to use GetSubMenu API in order to to access all the options in the menu, Ex. GetSubMenu(MenuHwnd, 0) gets the handle to the first column of menu items, the second column would be GetSubMenu(MenuHwnd, 1).
Once you get the handle to the submenu that contains the menu you wish to click, you can use GetMenuItemCount in order to get a count of the items, in case you need to loop, and GetMenuString in order to get the string of the menu item so you know which one you are working with.
Once you do that, you use GetMenuItemID passing in the SubMenu handle as well as the menu position number in the sub menu.
Once you have the menu item ID, its a matter of using SendMessage with the "WM_COMMAND" constant as well as the handle of the main window that contains the menu you wish to click, as well as the menu item ID mentioned previously, something like below:
VB Code:
'the WM_COMMAND constant that you will need:
Public Const WM_COMMAND As Int32 = &H111
'example
SendMessage(hWndMain, WM_COMMAND, MenuItemID, 0)
Hope this gives you an idea of where to start

I did this originally in messing with menus in Yahoo Messenger, which is how I got the methodology down...