public static ToolbarButton CreateByIndex(IntPtr hWnd, IntPtr hWndWin, int indexBaseZero, ref int currIndex) { int length = WinAPI.GetWindowTextLength(hWnd); StringBuilder className = new StringBuilder(length + 1000); WinAPI.GetClassName(hWnd, className, className.Capacity); uint processid = 0; WinAPI.GetWindowThreadProcessId(hWnd, out processid); if (className.ToString() != "ToolbarWindow32") { return(null); } WinAPI.TBBUTTON tb = new WinAPI.TBBUTTON(); WinAPI.GetToolbarButton(hWnd, indexBaseZero, ref tb); return((ToolbarButton)Activator.CreateInstance(typeof(ToolbarButton), hWnd, hWndWin, string.Format("ToolbarButton[{0}]", indexBaseZero), tb.idCommand)); }