Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.23;
Скачать: CL | DM;

Вниз

Версия exe файла   Найти похожие ветки 

 
Broot   (2004-01-14 09:48) [0]

Знатоки, как узнать версию исполняемого файла? Функция GetFileVersionInfo работает с именем файла, а мне доступен лишь дескриптор HWnd главного окна.


 
[lamer]Barmaglot ©   (2004-01-14 10:09) [1]

ToolHelp?


 
hfa ©   (2004-01-14 10:13) [2]

моежт это поможет.. Unit ShellAPI

GetModuleFileName()


 
BiN ©   (2004-01-14 10:22) [3]

2 hfa
скорее GetModuleFileNameEx()


 
AKul ©   (2004-01-14 10:24) [4]

Если требуется узнать имя запущенной программы, включая полный путь, можно воспользоваться ParamStr(0).


 
Broot   (2004-01-14 10:27) [5]

а не используя имени файла?


 
BiN ©   (2004-01-14 10:52) [6]

Broot (14.01.04 10:27) [5]
а не используя имени файла?


ты хочешь узнать версию файла, не используя его имя? Это же смешно

Другое дело, если ты хочешь узнать имя файла, зная лишь хэндл одного из его окон.
читай мсдн:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/wind owreference/windowfunctions/getwindowthreadprocessid.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/openprocess.asp

http://msdn.microsoft.com/library/en-us/perfmon/base/getmodulefilenameex.asp


 
Broot   (2004-01-14 10:58) [7]

2 BiN
и почему это смешно? Версия файла хранится в ресурсах и следовательно она доступна напрямую. Другое дело как найти нужный ресурс и расшифровать его.


 
BiN ©   (2004-01-14 11:07) [8]

Как ты думаешь что будет эффективнее: одна-две импортированные системные функции или код по выгрузке ресурса и его обработке.
А версия в файле хранится под именем VERSIONINFO в юникоде. Но если тебе вдруг понадобятся исходники "непрямого" метода, обращайся


 
PVOzerski ©   (2004-01-14 11:08) [9]

2[7]:
А вы думаете, что если программа исполняется, то все ресурсы загружены в оперативную память, находятся в адресном пространстве процесса и могут быть добыты по соответствующему смещению? Увы (а вернее, к счастью, с точки зрения работы с памятью в Windows), это не так.


 
Broot   (2004-01-14 11:33) [10]

2 BiN
Думаю мой код будет эффективнее, потому как он делает тоже самое, но не все, а значительно меньше

2 PVOzerski
и слава богу, что не загружены, а при чем тут это?


 
PVOzerski ©   (2004-01-14 11:35) [11]

>и слава богу, что не загружены, а при чем тут это?
А при том, что придется всё равно в файле копаться. А открывать его как-то по имени принято.


 
Broot   (2004-01-14 11:42) [12]

2 PVOzerski
а как на счет функций FindResource и LoadResource?


 
BiN ©   (2004-01-14 11:54) [13]

Broot (14.01.04 11:33) [10]
а ты сначала напиши этот код, а потом поговорим


 
PVOzerski ©   (2004-01-14 11:58) [14]

>а как на счет функций FindResource и LoadResource?
Ну, изнутри интересующей тебя программы это пройдет. А как добыть хэндл модуля другой программы? А судя по всему, именно другую программу и надо определить.



Страницы: 1 вся ветка

Текущий архив: 2004.01.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.02 c
14-72901
Volkov
2003-12-30 18:18
2004.01.23
Как быстрее копировать файл?


14-72932
Gero
2003-12-31 23:07
2004.01.23
Админы! Проснитесь!


1-72779
Miwa
2004-01-13 09:49
2004.01.23
---|Ветка была без названия|---


14-72923
Undert
2003-12-31 18:33
2004.01.23
До конца 2003 года остались считанные часы у GMT +3 :)


1-72822
Starkom
2004-01-12 13:21
2004.01.23
Проблема с GetPropValue