Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "WinAPI";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

Вниз

Висновок версії * .exe Знайти схожі гілки


Skiv   (2001-11-05 09:55) [0]

Чи можна прочитати Верії файлу без використання сторонніх
компонент (класів) типу RX, LMD.



Digitman   (2001-11-05 10:27) [1]

Можна, можливо. Всі ці компоненти в кінцевому підсумку звертаються до WINAPI-викликам
GetFileVersionInfo, GetFileVersionInfoSize, VerQueryValue. Як, втім, і всі інші компоненти: всі вони зсередини звертаються до API (кажучи правильніше - компоненти інкапсулюють ф-ції API)



Dimka Maslov   (2001-11-05 11:02) [2]

type // File version record type PFileVersion = ^ TFileVersion; TFileVersion = record HiVersion: Integer; // Major version number LoVersion: Integer; // Minor version number Release: Integer; Build: Integer; end; function FileVersion (const FileName: TString = ""): TFileVersion; var S: TString; hMem: HGLOBAL; Buf: pointer; BufSize, Len, dwHandle: DWORD; VerInfo: PVSFixedFileInfo; pszName: PAnsiChar; begin FillChar (Result, SizeOf (Result), 0); S: = FileName; CleanUp (S, True); if IsEmptyStr (S) then S: = ParamStr (0); pszName: = @ S [1]; BufSize: = GetFileVersionInfoSize (pszName, dwHandle); if BufSize <> 0 then begin hMem: = GlobalAlloc (GHND, BufSize); if hMem = 0 then OutOfMemoryError; Buf: = GlobalLock (hMem); if Buf = nil then OutOfMemoryError; GetFileVersionInfo (pszName, dwHandle, BufSize, Buf); VerQueryValue (Buf, "\", pointer (VerInfo), Len); with VerInfo ^ do begin Result.HiVersion: = HiWord (dwFileVersionMS); Result.LoVersion: = LoWord (dwFileVersionMS); Result.Release: = HiWord (dwFileVersionLS); Result.Build:=LoWord(dwFileVersionLS); end; GlobalUnlock (hMem); GlobalFree (hMem); end else Result.HiVersion: = - 1; end;



Dimka Maslov   (2001-11-05 11:06) [3]

У прикладі потрібно прибрати CleanUp (S, True), A виклик IsEmptyStr (S)замінити на S = "", А TString на string



сторінки: 1 вся гілка

Форум: "WinAPI";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

Вгору





Пам'ять: 0.55 MB
Час: 0.023 c
14-22331
vasco
2001-10-26 17:57
2002.01.08
А чи багато шульг серед програмістів?


3-21934
Alexsyy
2001-12-04 08:52
2002.01.08
Допоможіть мені будь ласка


3-21951
olban
2001-12-05 11:07
2002.01.08
іспоьзованія QuantumGrid


14-22328
новачок
2001-11-02 14:48
2002.01.08
Я вже задолбался !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


7-22449
Schummi
2001-09-15 07:45
2002.01.08
Вибране в Windows





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська