Ветеран
Сообщения: 649
Благодарности: 444
|
Профиль
|
Отправить PM
| Цитировать
Ivan_009,
почему именно Inno Fairy?
есть ведь isgsg.dll#
________________
вот наполовину готово
текущее разрешение поставил ) (при каком разрешении монитора запускают то и будет)
только не используй тк скрипт почистить нужно
А как растянуть хз
читать дальше »
Код: 
//Пример работы с fairy.dll. Через c .jpg
#include "fairy.iss"
[Setup]
AppName=fairy
AppVerName=fairy Ver 2.0
DefaultDirName={pf}\fairy
DefaultGroupName=fairy
OutputDir=.
SolidCompression=yes
[Files]
Source: miku.jpg; Flags: dontcopy
[ code]
///////// начало
function DeleteDC(hDC: Integer): Integer;
external 'DeleteDC@GDI32 stdcall';
function CreateDC(lpDriverName, lpDeviceName, lpOutput: String; lpInitData: Integer): Integer;
external 'CreateDCA@GDI32 stdcall';
function GetDeviceCaps(hDC, nIndex: Integer): Integer;
external 'GetDeviceCaps@GDI32 stdcall';
Const
HORZRES = 8; //horizontal resolution
VERTRES = 10; //vertical resolution
BITSPIXEL = 12; //bits per pixel
PLANES = 14; //number of planes (color depth=bits_per_pixel*number_of_planes)
////////// конец
function GetSysColor(nIndex: Integer): DWORD; external 'GetSysColor@user32.dll stdcall';
function GetWindowLong(hWnd, nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll';
var
GifFrameCount: Integer;
function ColorToRGB(Color: TColor): Longint;
begin
if Color < 0 then
Result := GetSysColor(Color and $000000FF)
else
Result := Color;
end;
procedure InitializeWizard();
var
Btn: TNewButton;
ImgFile: AnsiString;
S: AnsiString;
x, y: Integer;
BAlpha, TransparentColor: Integer;
///////// начало
xres, yres, bpp, pl, tmp: Integer;
hDC: Integer;
////////// конец
begin
///////// начало
//get resolution & BPP
hDC := CreateDC('DISPLAY', '', '', 0);
pl := GetDeviceCaps(hDC, PLANES);
bpp := GetDeviceCaps(hDC, BITSPIXEL);
xres := GetDeviceCaps(hDC, HORZRES); //horizontal resolution
yres := GetDeviceCaps(hDC, VERTRES); //vertical resolution
////////// конец
InitFairy(GetWindowLong(MainForm.Handle, -8), 0, 20);
ImgFile := 'miku.jpg';
ExtractTemporaryFile(ImgFile);
x := -xres div 2; // Расположение изображения (горизонталь [X]). По умолчанию -1280.
y := -yres div 2; // Расположение изображения (Вертикаль [Y]). По умолчанию -960.
BAlpha := 255; // Прозрачность изображения. По умолчанию 255.
TransparentColor := ColorToRGB(clNone);
AddImgToList(x, y, BAlpha, TransparentColor, ExpandConstant('{tmp}\'+ImgFile))
ShowFairyEx(0);
end;
procedure DeinitializeSetup();
begin
HideFairy;
WizardForm.Hide;
UninitFairy;
end;
|
Последний раз редактировалось Johny777, 23-04-2012 в 20:16.
Отправлено: 20:06, 23-04-2012
| #1635
|