现在我创建的ocx工程中,默认的版本号是1.0.0.1,入何升级版本号呢?我用的是VS2005,在属性栏中的确有一个1.0的版本显示,但是修改不了? 

解决方案 »

  1.   

    不是你的ocx是何种方式创建的,MFC还是COM API,一般MFC的版本号在资源文件中,
    资源文件的VS_VERSION_INFO节记录的版本号会出现在应用程序的属性栏中,例如
    XXX.rc 文件,查找VS_VERSION_INFO节://///////////////////////////////////////////////////////////////////////////
    //
    // Version
    //VS_VERSION_INFO VERSIONINFO
     FILEVERSION 3,4,6,719
     PRODUCTVERSION 3,4,6,719
     FILEFLAGSMASK 0x3fL
    #ifdef _DEBUG
     FILEFLAGS 0x1L
    #else
     FILEFLAGS 0x0L
    #endif
     FILEOS 0x40004L
     FILETYPE 0x2L
     FILESUBTYPE 0x0L
    BEGIN
        BLOCK "StringFileInfo"
        BEGIN
            BLOCK "040904b0"
            BEGIN
                VALUE "Comments", "XXXX"
                VALUE "CompanyName", "XXXX"
                VALUE "FileDescription", "XXXX"
                VALUE "FileVersion", "3.4.7.719"
                VALUE "OriginalFilename", "XXX.ocx"
                VALUE "ProductName", "XXX"
                VALUE "ProductVersion", "3.4.7.719"
            END
        END
        BLOCK "VarFileInfo"
        BEGIN
            VALUE "Translation", 0x409, 1200
        END
    END对于ocx除了上面这个资源文件,还跟控件的注册信息有关,这个版本号一般放置在 .idl文件中,
    例如:#include <olectl.h>
    #include "..\version.h"[
    uuid(MYCTL_TLIB), helpstring(MYCTL_FULLNAME),
    version(MYCTL_VERSION), lcid(0x0000), control
    ]version.h的相关内容:#define MYCTL_VERSION          3.4
      

  2.   

    在源文件里面有个****.RC文件,双击它就可以看到一个Version文件夹,在其下面有个VS_VERSION_INFO,双击它就可以修改了~~