Форум: "Основная";
Текущий архив: 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