Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / WINAPI: получение информации о версии DLL / 6 сообщений из 6, страница 1 из 1
06.12.2006, 08:58
    #34179313
Sunista
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WINAPI: получение информации о версии DLL
При подключении к серверу БД происходит вызов клиентской библиотеки, мне нужно прочитать ее версию, уже заблудился в Winapi, никак не могу найти решение. Подскажите какими функциями необходимо воспользоваться. AGETFILEVERSION не предлагать, клиентская библиотека может быть расположена в любой папке.
...
Рейтинг: 0 / 0
06.12.2006, 10:07
    #34179475
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WINAPI: получение информации о версии DLL
SunistaПри подключении к серверу БД происходит вызов клиентской библиотеки, мне нужно прочитать ее версию, уже заблудился в Winapi, никак не могу найти решение. Подскажите какими функциями необходимо воспользоваться. AGETFILEVERSION не предлагать, клиентская библиотека может быть расположена в любой папке.
Как понимаю в твоей DLL - COM-объект. Где-то в реестре хранится полный путь к этой DLL, точно не знаю, но можешь поискать описаловку где COM в реестре прописывается.
А проще: на машине где все установлено и известно где DLL - regedit`ом найди где в реестре этот путь хранится, соответственно в коде из реестра получаешь полный путь к DLL, а затем AGETFILEVERSION
Про работу с реестром из фокса поищи по форуму и это глянь http://vfpdev.narod.ru/download/sysregap.zip
...
Рейтинг: 0 / 0
06.12.2006, 11:18
    #34179712
Sunista
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WINAPI: получение информации о версии DLL
Dima T SunistaПри подключении к серверу БД происходит вызов клиентской библиотеки, мне нужно прочитать ее версию, уже заблудился в Winapi, никак не могу найти решение. Подскажите какими функциями необходимо воспользоваться. AGETFILEVERSION не предлагать, клиентская библиотека может быть расположена в любой папке.
Как понимаю в твоей DLL - COM-объект. Где-то в реестре хранится полный путь к этой DLL, точно не знаю, но можешь поискать описаловку где COM в реестре прописывается.
А проще: на машине где все установлено и известно где DLL - regedit`ом найди где в реестре этот путь хранится, соответственно в коде из реестра получаешь полный путь к DLL, а затем AGETFILEVERSION
Про работу с реестром из фокса поищи по форуму и это глянь http://vfpdev.narod.ru/download/sysregap.zip
К сожалению не пройдет такой фокус: библиотека может быть не зарегистрирована, может быть несколько экземпляров, мне нужно знать какая версия стартовавшего экземпляра
...
Рейтинг: 0 / 0
06.12.2006, 12:09
    #34179960
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WINAPI: получение информации о версии DLL
Если известно что DLL уже подгружена, то смотри приаттаченный файлик. Там исходник на VC++
Функция List() перебирает все процессы и выводит полный путь к файлам модулей, используемых процессом.
Можешь на фоксе переписать, но там структур много, я бы DLL/FLL сделал.
...
Рейтинг: 0 / 0
06.12.2006, 16:17
    #34181045
Sunista
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WINAPI: получение информации о версии DLL
Спасибо, буду пробовать
...
Рейтинг: 0 / 0
08.12.2006, 05:22
    #34184918
Sunista
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WINAPI: получение информации о версии DLL
Спасибо Dima T, все получилось. Код немного не тот, который мне был нужен, но подтолкнул в правильном направлении. Вопрос можно считать закрытым.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / WINAPI: получение информации о версии DLL / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]