Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];

Вниз

Версия 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
1-72787
First_May
2004-01-13 09:08
2004.01.23
ICQ


1-72712
Yura
2004-01-09 15:41
2004.01.23
Web-сервис


3-72680
Ткаченко Сергей
2003-12-24 15:46
2004.01.23
Ошибка при генерации отчета???!!!


7-72965
Ngobo
2003-10-28 16:15
2004.01.23
Как из Дельфи можно отключить Primary IDE Channel


1-72810
frost
2004-01-12 14:55
2004.01.23
Вставка графики в текст.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский