我早说过了,用菜单数组就最好解决了
根本用不上什么API函数
你先定义一个菜单项比如是FileList,然后再把它的索引设为0,这样FileList就成为了一个菜单数组,当须要添加菜单项的时候用 
Load FileList(1) Load FileList(2).....
动态添加菜单项.如果你非要用API添加菜单的话,可以采用以下方法
'in a form
Public Const WM_GETSYSMENU = &H313
Public Const MF_CHECKED = &H8&
Public Const MF_APPEND = &H100&Public Const TPM_LEFTALIGN = &H0&
Public Const TPM_RIGHTBUTTON = &H2&
Public Const MF_SEPARATOR = &H800&
Public Const MF_STRING = &H0&
Public Const MF_BYPOSITION = &H400&Public Const GWL_WNDPROC = (-4)
Public Const WM_SYSCOMMAND = &H112
Public Const IDM_ABOUT = &H2001
Public Const IDM_TOPMOST = &H2002Private Sub Form_Load()
    HwndMenu = GetSystemMenu(Me.hwnd, 0)            '获得系统菜单句柄
    DeleteMenu HwndMenu, 2, MF_BYPOSITION           '删除系统菜单中"大小"
    Call AppendMenu(HwndMenu, MF_SEPARATOR, 0&, 0&) '系统菜单中添加横线
    Call AppendMenu(HwndMenu, MF_STRING, IDM_ABOUT, "关于该软件(&A)...")  '系统菜单中添加"关于.'
    Call AppendMenu(HwndMenu, MF_STRING, IDM_TOPMOST, "总在最前(&T)...")  '系统菜单中添加"总在最前.'
    procOld = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf SysMenuProc)    '获得原消息处理句柄,并将消息处理转交自定义函数
End Sub
'in a module
'自定义窗体消息处理程序,用来筛选出在系统菜单上添加的菜单项事件
Public Function SysMenuProc(ByVal hwnd As Long, ByVal iMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Static TopMostStatus As Boolean
    If iMsg = WM_SYSCOMMAND Then
        Select Case wParam
            Case IDM_ABOUT
                Call ShowAbout
            Case IDM_TOPMOST
                If TopMostStatus = False Then
                    SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
                    ModifyMenu HwndMenu, 7, MF_BYPOSITION Or MF_STRING Or MF_CHECKED, IDM_TOPMOST, "总在最前(&T)"
                Else
                    SetWindowPos hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
                    ModifyMenu HwndMenu, 7, MF_BYPOSITION Or MF_STRING, IDM_TOPMOST, "总在最前(&T)"
                End If
                TopMostStatus = Not TopMostStatus
            Exit Function
        End Select
    End If
    SysMenuProc = CallWindowProc(procOld, hwnd, iMsg, wParam, lParam)
End Function