@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: The GetSubMenu API !!!!C# Signature: [DllImport("user32.dll")] static extern IntPtr GetSubMenu(IntPtr hMenu, int nPos); !!!!VB Signature: <DllImport("user32.dll")> _ Public Shared Function GetSubMenu(ByVal hMenu As IntPtr, ByVal nPos As Integer) As IntPtr End Function !!!!User-Defined Types: None. !!!!Notes: None. !!!!Tips & Tricks: Please add some! !!!!Sample Code (VB): Dim hwndMain as IntPtr = FindWindowEx(intptr.Zero,intptr.Zero,vbNullString,"My Window Title") 'Get the Window Handle Dim hwndMenu As IntPtr = GetMenu(hwndMain) 'Get the MenuHandle Dim hwndSubmenu as intptr = GetSubMenu(hwndMenu,1) 'Get the SubMenuHandle to the visible MenuItem, in this case the second one (counting from zero) Dim intMID as Integer = GetMenuitemID(hwndSubmenu,2)) 'Get the MenuItemID of the third SubMenu under the previous Handle (counting from zero) Sendmessage(hwndMain, WM_COMMAND, intMID, 0) 'Click the MenuItem! !!!!Sample Code (C#): [DllImport("user32.dll")] private static extern IntPtr GetMenu(IntPtr hWnd); [DllImport("user32.dll")] private static extern IntPtr GetSubMenu(IntPtr hMenu, int nPos); [DllImport("user32.dll")] private static extern int GetMenuItemCount(IntPtr hMenu); IntPtr mainMenu = GetMenu(handle); IntPtr fileMenu = GetSubMenu(mainMenu, 0); uint itemIndex = (uint) GetMenuItemCount(fileMenu); !!!!Alternative Managed API: Do you know one? Please contribute it! Documentation: GetSubMenu@msdn on MSDN
Edit user32.GetSubMenu
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.