不是你的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
资源文件的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