Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как получить PruductVersion 
:(
    Опции темы
knut
Дата 7.11.2006, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 7.2.2006

Репутация: нет
Всего: нет



Добрый день.
У меня накой вопрос.
Как програмно получить PruductVersion из VS_VERSION_INFO.
Зараниее благодарен 


--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
Earnest
Дата 7.11.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



см. GetFileVersionInfo

Добавлено @ 13:49 
А потом VerQueryValue


--------------------
...
PM   Вверх
knut
Дата 7.11.2006, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 7.2.2006

Репутация: нет
Всего: нет



Earnest, 
а для класса CModuleVersion  какой xедер надо инклуднуть?У меня VS 2005  и в мсдн я такого ласса не как ненашел.



--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
Earnest
Дата 7.11.2006, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



А откуда ты его вообще взял? Я такого класса тоже не знаю...


--------------------
...
PM   Вверх
knut
Дата 8.11.2006, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 7.2.2006

Репутация: нет
Всего: нет



Вот написла прогу выдаюшую product name проекта но она вылетает. дебагером прошелся выводет такие сообщения как "The variable "v1","v2","v3",''v4" is being used without being defined."
[code=cpp]
#pragma comment( lib, "version.lib" )

bool GetVersions(LPCWSTR FileName,DWORD dw1,DWORD dw2,DWORD dw3,DWORD dw4)
{
    DWORD pHandle;
    bool res = false;
    if(DWORD BuffVer = GetFileVersionInfoSize(FileName,&pHandle))
    {
        LPBYTE Buffer = new BYTE[BuffVer];
        VS_FIXEDFILEINFO *pi = 0;
        
        if(GetFileVersionInfo(FileName,pHandle,BuffVer,Buffer))
        {
            UINT dwLen;
            if(VerQueryValue(&pi,_TEXT("\\"),(void**)&Buffer,&dwLen    ))
            {
                DWORD V1 = pi->dwFileVersionLS;
                DWORD V2 = pi->dwFileVersionMS;

                dw1 = HIWORD(V1);
                dw2 = LOWORD(V1);
                dw3 = HIWORD(V2);
                dw4 = LOWORD(V2);
                res = true;

            }
        }
        delete[] Buffer;
        Buffer = NULL;
    }
    return res;
}[code=cpp]

main cpp
Код

DWORD dwError;
      LPCSTR    PathToMyself = new char[1024]; 
        
                   GetModuleFileName(NULL,(LPWSTR)PathToMyself,1024);  //возврошает чесло 96 
        WORD v1,v2,v3,v4;  
        GetVersions((LPWSTR)PathToMyself,v1,v2,v3,v4);
        
        delete [] PathToMyself;   
        PathToMyself = NULL;    
        DWORD ProdactVersion = v3;
        _tprintf(_T("%01.1d,%01.1d,%01.1d,%01.1d"),v1,v2,v3,v4);



--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
Pulse69
Дата 8.11.2006, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 28.4.2006
Где: Хабаровск

Репутация: нет
Всего: 10



Код

...
bool GetVersions(LPCWSTR FileName,DWORD dw1,DWORD dw2,DWORD dw3,DWORD dw4)
...
WORD v1,v2,v3,v4;  
GetVersions((LPWSTR)PathToMyself,v1,v2,v3,v4);
...


Хоть бы параметры в GetVersions по ссылке передавал что-ли...
Код

bool GetVersions(LPCWSTR FileName,DWORD &dw1,DWORD &dw2,DWORD &dw3,DWORD &dw4)

--------------------
Ctrl+Alt+Reset 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0498 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.