jueves, 9 de mayo de 2013

Ejemplo de como poner un Skin en Inno Setup

En este caso os pongo un ejemplo de como aplicar un Skin o piel a tu instalación de Inno Setup, en este caso he usado el Skin "Infini8RC1.cjstyles" que bajé hace algún tiempo de DeviantArt y convertí con el SkinBuilder.


Para el Skin necesitamos bajar el programa SkinBuilder (enlace mas arriba) y añadiremos al script lo siguiente:

[Files]
Source: ISSkin.dll; DestDir: {app}; Flags: dontcopy
Source: Styles\Infini8RC1.cjstyles; DestDir: {tmp}; Flags: dontcopy




Luego el codigo


[Code]
// Importing LoadSkin API from ISSkin.DLL
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';

// Importing UnloadSkin API from ISSkin.DLL
procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';

// Importing ShowWindow Windows API from User32.DLL
function ShowWindow(hWnd: Integer; uType: Integer): Integer;
external 'ShowWindow@user32.dll stdcall';

function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('Infini8RC1.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Infini8RC1.cjstyles'), '');
Result := True;
end;

procedure DeinitializeSetup();
begin
// Hide Window before unloading skin so user does not get
// a glimse of an unskinned window before it is closed.
ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
UnloadSkin();
end;


0 comentarios :

Publicar un comentario