Доступ к параметрам VC++ проекта из кода
Автор: Barbar1an
Иногда нужно в С/С++ коде получить некоторые параметры из VC++ проекта, например его название. Очень полезно на случай всяких переименований в проекте.
Это можно сделать так:
Добавить в
Configuration Properties | C/C++ | Preprocessor | Preprocessor Definitions
например такие определения:
PROJECT_NAME=L\"$(ProjectName)\"
PROJECT_TARGET_FILENAME=L\"$(TargetFileName)\"
(тут я использую юникод)
И в коде соответсвенно можно обращаться:
wchar_t * GetProjectName() { return PROJECT_NAME; }
Также эти определения можно задать в
Configuration Properties | Resources | General | Preprocessor Definitions
И тогда можно использовать эти данные в ресурсных файлах .rc и .rc2
Например:
VS_VERSION_INFO VERSIONINFO
FILEVERSION VERSION_FILE
PRODUCTVERSION VERSION_PRODUCT
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
#else
FILEFLAGS 0x0L
#endif
FILEOS VOS__WINDOWS32
FILETYPE VFT_DLL
FILESUBTYPE VFT2_UNKNOWN
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "000904b0"
BEGIN
VALUE "InternalName", PROJECT_NAME
VALUE "OriginalFilename", PROJECT_TARGET_FILENAME
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x9, 1200
END
END25 января 2011
Комментарии [8]