comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

CloneFileInfoA [UNIT] [Fakedo0r]

  • 0 Respuestas
  • 1438 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Fakedo0r

  • *
  • Visitante
« en: Abril 19, 2012, 05:06:29 pm »
Permite copiar la informacion de un ejecutable a otro.

Código: Delphi
  1. //******************************************************************************
  2. //* UNIT:         UNT_CloneFileInfo
  3. //* AUTOR:        Fakedo0r
  4. //* FECHA:        10.04.2012
  5. //* CORREO:       Luvel88@gmail.com
  6. //* BLOG:         Sub-Soul.blogspot.com
  7. //* REFERENCIA:   MSDN
  8. //* USO:          CloneFileInfoA('Ruta\Origen.exe', 'Ruta\Destino.exe');
  9. //******************************************************************************
  10. unit UNT_CloneFileInfo;
  11. //******************************************************************************
  12. //DECLARACION DE LIBRERIAS / CLASES
  13. //******************************************************************************
  14. interface
  15.  
  16. uses
  17.   Windows, Messages, Dialogs, SysUtils, ShlObj;
  18. //******************************************************************************
  19. //DECLARACION DE FUNCIONES / METODOS
  20. //******************************************************************************
  21. function CloneFileInfoA(sSource: String; sDestin: String): Bool;
  22. //******************************************************************************
  23. implementation
  24. //******************************************************************************
  25. //<--- CLONA LA INFORMACION DEL EJECUTABLE --->
  26. //******************************************************************************
  27. function CloneFileInfoA(sSource: String; sDestin: String): Bool;
  28. var
  29.   dwRes:        DWORD;
  30.   dwFile:       DWORD;
  31.   dwSize:       DWORD;
  32.   dwLangID:     DWORD;
  33.   dwSrcSize:    DWORD;
  34.   dwDestSize:   DWORD;
  35.   bSrcData:     TBytes;
  36.   bDestData:    TBytes;
  37.   ptrBuffer:    Pointer;
  38. begin
  39.   Result := True;
  40.   dwRes:= 0;
  41.   dwLangID := 0;
  42.   dwSrcSize := 0;
  43.   dwDestSize := 0;
  44.  
  45.   dwSrcSize := GetFileVersionInfoSize(PChar(sSource), dwFile);
  46.  
  47.   if dwSrcSize = 0 then
  48.   begin
  49.     Result := False;
  50.     Exit;
  51.   end;
  52.  
  53.   SetLength(bSrcData, dwSrcSize);
  54.   GetFileVersionInfo(PChar(sSource), dwFile, dwSrcSize, @bSrcData[0]);
  55.  
  56.   dwDestSize := GetFileVersionInfoSize(PChar(sSource), dwFile);
  57.  
  58.   if dwDestSize = 0 then
  59.   begin
  60.     Result := False;
  61.     Exit;
  62.   end;
  63.  
  64.   SetLength(bDestData, dwDestSize);
  65.   GetFileVersionInfo(PChar(sDestin), dwFile, dwDestSize, @bDestData[0]);
  66.  
  67.   VerQueryValue(@bDestData[0], PChar('\VarFileInfo\Translation'), ptrBuffer, dwSize);
  68.   dwRes := BeginUpdateResource(PChar(sDestin), False);
  69.  
  70.   CopyMemory(@dwLangID, ptrBuffer, 2);
  71.   UpdateResource(dwRes, RT_VERSION, PChar(VS_VERSION_INFO), dwLangID, @bSrcData[0], dwSrcSize);
  72.   EndUpdateResource(dwRes, False);
  73. end;
  74.  
  75. end.
  76.  

Saludo.
« Última modificación: Abril 21, 2013, 01:03:04 pm por Expermicid »

 

¿Te gustó el post? COMPARTILO!



[UNIT] PidGinRec by Metal

Iniciado por Expermicid

Respuestas: 0
Vistas: 1201
Último mensaje Junio 11, 2013, 01:00:27 pm
por Expermicid
[UNIT] BlowFish Encription

Iniciado por Expermicid

Respuestas: 0
Vistas: 1995
Último mensaje Junio 11, 2013, 09:39:39 pm
por Expermicid
[Delphi] Unit DH Tools 0.2

Iniciado por BigBear

Respuestas: 0
Vistas: 1581
Último mensaje Mayo 14, 2016, 01:45:08 pm
por BigBear
GetWriteINI [UNIT] [Fakedo0r]

Iniciado por Fakedo0r

Respuestas: 0
Vistas: 1479
Último mensaje Abril 19, 2012, 05:11:12 pm
por Fakedo0r
ReadWriteAPI [UNIT] [Fakedo0r]

Iniciado por Fakedo0r

Respuestas: 0
Vistas: 1476
Último mensaje Abril 19, 2012, 05:08:16 pm
por Fakedo0r