GetWindowLong VB声明 
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long 
说明 
从指定窗口的结构中取得信息 
返回值 
Long,由nIndex决定。零表示出错。会设置GetLastError 
参数表 
参数 类型及说明 
hwnd Long,欲为其获取信息的窗口的句柄 
nIndex Long,欲取回的信息,可以是下述任何一个常数: 
GWL_EXSTYLE 扩展窗口样式 
GWL_STYLE 窗口样式 
GWL_WNDPROC 该窗口的窗口函数的地址 
GWL_HINSTANCE 拥有窗口的实例的句柄 
GWL_HWNDPARENT 该窗口之父的句柄。不要用SetWindowWord来改变这个值 
GWL_ID 对话框中一个子窗口的标识符 
GWL_USERDATA 含义由应用程序规定 
DWL_DLGPROC 这个窗口的对话框函数地址 
DWL_MSGRESULT 在对话框函数中处理的一条消息返回的值 
DWL_USER 含义由应用程序规定 更改扩展样式就是

解决方案 »

  1.   

    用Installshield professional
    C++带的是一个express版本,不带VB工程安装向导,会麻烦一些
      

  2.   

    SetWindowLong VB声明 
    Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long 
    说明 
    在窗口结构中为指定的窗口设置信息 
    返回值 
    Long,指定数据的前一个值 
    参数表 
    参数 类型及说明 
    hwnd Long,欲为其取得信息的窗口的句柄 
    nIndex Long,请参考GetWindowLong函数的nIndex参数的说明 
    dwNewLong Long,由nIndex指定的窗口信息的新值 
      

  3.   

    可以了,试试Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
    Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
    Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    Const MF_BYPOSITION = &H400&
    Const MF_REMOVE = &H1000&
    Private Sub Form_Load()
        Dim hSysMenu As Long, nCnt As Long
        ' Get handle to our form's system menu
        ' (Restore, Maximize, Move, close etc.)
        hSysMenu = GetSystemMenu(Me.hwnd, False)    If hSysMenu Then
            ' Get System menu's menu count
            nCnt = GetMenuItemCount(hSysMenu)
            If nCnt Then
                ' Menu count is based on 0 (0, 1, 2, 3...)
                RemoveMenu hSysMenu, nCnt - 2, MF_BYPOSITION Or MF_REMOVE ' Remove the seperator
                RemoveMenu hSysMenu, nCnt - 5, MF_BYPOSITION Or MF_REMOVE
                DrawMenuBar Me.hwnd
            End If
        End If
    End Sub
      

  4.   

    这是从一个程序移植过来的,上面的注释是有问题的,请别介意,其实你说的问题只和系统菜单有关,根本不涉及SetWindowLong ,这个问题在VC的基础书籍中会有提到。