[DllImport("user32.dll")]
static extern bool GetMenuItemInfo(IntPtr hMenu, UInt32 uItem, bool fByPosition, [In,Out] MENUITEMINFO lpmii);
[StructLayout(LayoutKind.Sequential)]
public class MENUITEMINFO{
public Int32 cbSize = Mashal.SizeOf(typeof(MENUITEMINFO));
public MIIM fMask;
public UInt32 fType;
public UInt32 fState;
public UInt32 wID;
public IntPtr hSubMenu;
public IntPtr hbmpChecked;
public IntPtr hbmpUnchecked;
public IntPtr dwItemData;
public string dwTypeData = null;
public UInt32 cch;
public IntPtr hbmpItem;
public MENUITEMINFO() { }
public MENUITEMINFO(MIIM pfMask) {
fMask = pfMask;
}
}
public const UInt32 MF_BYCOMMAND = 0x00000000;
public const UInt32 MF_BYPOSITION = 0x00000400;
// Values for the fMask parameter
[Flags]
public enum MIIM {
BITMAP = 0x00000080,
CHECKMARKS = 0x00000008,
DATA = 0x00000020,
FTYPE = 0x00000100,
ID = 0x00000002,
STATE = 0x00000001,
STRING = 0x00000040,
SUBMENU = 0x00000004,
TYPE = 0x00000010
}
Please add some!
MENUITEMINFO mif = new MENUITEMINFO(MIIM.TYPE);
bool a = GetMenuItemInfo(hMenu, 0, true, mif);
Do you know one? Please contribute it!