Casa
Top.Mail.Ru Yandeks.Metrika
Foro: "WinAPI";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

abajo

Mostrar versión * .exe Encontrar ramas similares


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

¿Puedo leer el archivo que creo sin usar terceros?
Componente (clases) de tipo RX, LMD.



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

Usted puede Todos estos componentes en última instancia, abordan las llamadas WINAPI.
GetFileVersionInfo, GetFileVersionInfoSize, VerQueryValue. Como, por cierto, todos los demás componentes: todos acceden a la API desde el interior (más correctamente, los componentes encapsulan las funciones de la 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]

En el ejemplo necesitas quitar Limpieza (S, Verdadero)una llamada IsEmptyStr (S)reemplazar con S = ""Y TString en la cuerda



Páginas: 1 rama entera

Foro: "WinAPI";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

arriba





Memoria: 0.55 MB
Tiempo: 0.03 c
1-22034
Alexey_K
2001-12-15 16:35
2002.01.08
Forma


1-22039
Yuri btr
2001-12-18 10:46
2002.01.08
Forma


1-22108
Miguel
2001-12-19 19:10
2002.01.08
Impresión larga en impresora matricial


1-22055
walker_ag
2001-12-19 03:27
2002.01.08
¿Cómo hacer esto?


14-22326
Mcsimm
2001-11-04 11:35
2002.01.08
Alguien quería estirar sus cerebros? ¿Cuáles son las opciones para el algoritmo?





africaans albanés Arabic armenio Azerbaiyán vasco Bielorruso Bulgarian Catalán Chino (simplificado) Chino (tradicional) Croata Checo Danés Dutch Inglés Estonia filipina Finnish French
gallego georgiano Alemán Griego criollo haitiano Hebreo hindi Húngaro islandés Indonesian irlandés Italiano Japonés Korean letón lituano macedonio Malay maltés Noruego
persa polaco Portuguese Rumano Ruso Serbio Slovak Esloveno Español swahili Sueco Thai turco ucranio Urdu vietnamita galés yídish bengalí bosnio
cebuano esperanto gujarati hausa hmong igbo javanés kannada khmer lao latín maorí marathi mongol nepali punjabi somalí Tamil telugu yoruba
zulú
Английский Francés Alemán Italiano portugués Русский Español