this is my code. found from git hub. after compile and run. geting error "cannot import user32.dll"
Code:
const
TransparentColor = clLime;
TransparentPercent = 80;
WS_EX_LAYERED = $80000;
WS_EX_TRANSPARENT = $20;
LWA_COLORKEY = 1;
LWA_ALPHA = 2;
GWL_EXSTYLE = (-20);
WM_SYSCOMMAND = $0112;
var
Panel1,Panel2,Panel3,Panel4,Panel5: TPanel;
Image1,Image2,Image3,Image4,Image5: TBitmapImage;
Label1,Label2,Label3,Label4,Label5,WizardLabel: TLabel;
AppPath,UninsPath: string;
Res: Integer;
function SetLayeredWindowAttributes(hwnd: HWND; crKey: TColor; bAlpha: BYTE; dwFlags: DWORD): Boolean; external '[email protected] stdcall';
function GetWindowLong(Wnd: HWnd; Index: Integer): Longint; external '[email protected] stdcall';
function SetWindowLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint; external '[email protected] stdcall';
function ReleaseCapture(): Longint; external '[email protected] stdcall';
function mciSendString(lpstrCommand: string; lpstrReturnString: string; uReturnLength:integer; hwndCallback:integer):integer; external '[email protected] stdcall';
procedure CancelButtonClick(CurPage: Integer; var Cancel, Confirm: Boolean);
begin
Confirm:=False
Cancel:=True
end;
procedure ButtonClick1(Sender: TObject);
begin
if RegQueryStringValue(HKLM, 'SOFTWARE\Game','Path', AppPath) then
begin
Exec(AppPath,'','',SW_SHOWNORMAL,ewNoWait,Res)
WizardForm.Close
end
end;
procedure ButtonClick2(Sender: TObject);
begin
Exec(ExpandConstant('{src}\game.exe'),'','',SW_SHOW,ewNoWait,Res)
WizardForm.Close
end;
procedure ButtonClick3(Sender: TObject);
begin
if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Game_is1','UninstallString', UninsPath) then
begin
UninsPath:=RemoveQuotes(UninsPath)
Exec(UninsPath,'','',SW_SHOWNORMAL,ewNoWait,Res)
WizardForm.Close
end
end;
procedure ButtonClick4(Sender: TObject);
begin
ShellExec('open', ExpandConstant('{src}\readme.txt'),'','', SW_SHOW, ewNoWait, Res)
end;
procedure ButtonClick5(Sender: TObject);
begin
WizardForm.Close
end;
procedure LabelMouseMove1(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Image1.Top:=-16
Image2.Top:=0
Image3.Top:=0
Image4.Top:=0
Image5.Top:=0
end;
procedure LabelMouseMove2(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Image1.Top:=0
Image2.Top:=-16
Image3.Top:=0
Image4.Top:=0
Image5.Top:=0
end;
procedure LabelMouseMove3(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Image1.Top:=0
Image2.Top:=0
Image3.Top:=-16
Image4.Top:=0
Image5.Top:=0
end;
procedure LabelMouseMove4(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Image1.Top:=0
Image2.Top:=0
Image3.Top:=0
Image4.Top:=-16
Image5.Top:=0
if Image4.Tag = 0 then
begin
mciSendString(ExpandConstant('play {tmp}\start.mp3'),'NULL',0,0)
Image4.Tag:= 1
end
end;
procedure LabelMouseMove5(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Image1.Top:=0
Image2.Top:=0
Image3.Top:=0
Image4.Top:=0
Image5.Top:=-16
Image4.Tag:= 0
end;
Procedure NoLabelMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Begin
Image1.Top:=0
Image2.Top:=0
Image3.Top:=0
Image4.Top:=0
Image5.Top:=0
end;
procedure WizardLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture
SendMessage(WizardForm.Handle, WM_SYSCOMMAND, $F012, 0)
end;
function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('btn1.bmp')
ExtractTemporaryFile('btn2.bmp')
ExtractTemporaryFile('btn3.bmp')
ExtractTemporaryFile('btn4.bmp')
ExtractTemporaryFile('btn5.bmp')
ExtractTemporaryFile('start.mp3')
Result:=True
end;
procedure InitializeWizard();
begin
mciSendString(ExpandConstant('play {tmp}\start.mp3'),'NULL',0,0)
WizardForm.Width:=700
WizardForm.Height:=540
WizardForm.Color:=TransparentColor
WizardForm.BorderStyle:=bsNone
WizardForm.Center
WizardForm.OuterNotebook.Hide
WizardForm.NextButton.Left:=710
WizardForm.CancelButton.Left:=710
WizardLabel:=TLabel.Create(WizardForm)
WizardLabel.Width:=WizardForm.Width
WizardLabel.Height:=WizardForm.Height
WizardLabel.AutoSize:=False
WizardLabel.OnMouseMove:=@NoLabelMove
WizardLabel.OnMouseDown:=@WizardLabelMouseDown
WizardLabel.Parent:=WizardForm
WizardForm.WizardBitmapImage.Left:=0
WizardForm.WizardBitmapImage.Top:=0
WizardForm.WizardBitmapImage.AutoSize:=True
WizardForm.WizardBitmapImage.Enabled:=False
WizardForm.WizardBitmapImage.Parent:=WizardForm
SetWindowLong(WizardForm.Handle, GWL_EXSTYLE, GetWindowLong(WizardForm.Handle, GWL_EXSTYLE) or WS_EX_LAYERED)
SetLayeredWindowAttributes(WizardForm.Handle, TransparentColor,(255 * TransparentPercent) / 100, LWA_COLORKEY)
Panel1:=TPanel.Create(WizardForm)
Panel1.Left:=108
Panel1.Top:=425
Panel1.Width:=145
Panel1.Height:=16
Panel1.Parent:=WizardForm
Image1:=TBitmapImage.Create(WizardForm)
Image1.Autosize:=True
Image1.Enabled:=False
Image1.Bitmap.LoadFromFile(ExpandConstant('{tmp}\btn1.bmp'))
Image1.Parent:=Panel1
Label1:=TLabel.Create(WizardForm)
Label1.Left:=0
Label1.Top:=0
Label1.Width:=Panel1.Width
Label1.Height:=Panel1.Height
Label1.Autosize:=False
Label1.Transparent:=True
Label1.Cursor:=crHand
Label1.OnMouseMove:=@LabelMouseMove1
Label1.OnClick:=@ButtonClick1
Label1.Parent:=Panel1
if not RegQueryStringValue(HKLM, 'SOFTWARE\Game','Path', AppPath) then
begin
Panel1.Hide
end;
Panel2:=TPanel.Create(WizardForm)
Panel2.Left:=108
Panel2.Top:=447
Panel2.Width:=158
Panel2.Height:=16
Panel2.Parent:=WizardForm
Image2:=TBitmapImage.Create(WizardForm)
Image2.Autosize:=True
Image2.Enabled:=False
Image2.Bitmap.LoadFromFile(ExpandConstant('{tmp}\btn2.bmp'))
Image2.Parent:=Panel2
Label2:=TLabel.Create(WizardForm)
Label2.Left:=0
Label2.Top:=0
Label2.Width:=Panel2.Width
Label2.Height:=Panel2.Height
Label2.Autosize:=False
Label2.Transparent:=True
Label2.Cursor:=crHand
Label2.OnMouseMove:=@LabelMouseMove2
Label2.OnClick:=@ButtonClick2
Label2.Parent:=Panel2
Panel3:=TPanel.Create(WizardForm)
Panel3.Left:=108
Panel3.Top:=447
Panel3.Width:=126
Panel3.Height:=16
Panel3.Parent:=WizardForm
Image3:=TBitmapImage.Create(WizardForm)
Image3.Autosize:=True
Image3.Enabled:=False
Image3.Bitmap.LoadFromFile(ExpandConstant('{tmp}\btn3.bmp'))
Image3.Parent:=Panel3
Label3:=TLabel.Create(WizardForm)
Label3.Left:=0
Label3.Top:=0
Label3.Width:=Panel3.Width
Label3.Height:=Panel3.Height
Label3.Autosize:=False
Label3.Transparent:=True
Label3.Cursor:=crHand
Label3.OnMouseMove:=@LabelMouseMove3
Label3.OnClick:=@ButtonClick3
Label3.Parent:=Panel3
Panel2.Hide
Panel3.Hide
if not RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Game_is1','UninstallString', UninsPath) then
Panel2.Show
else
Panel3.Show;
Panel4:=TPanel.Create(WizardForm)
Panel4.Left:=108
Panel4.Top:=468
Panel4.Width:=122
Panel4.Height:=16
Panel4.Parent:=WizardForm
Image4:=TBitmapImage.Create(WizardForm)
Image4.Autosize:=True
Image4.Enabled:=False
Image4.Bitmap.LoadFromFile(ExpandConstant('{tmp}\btn4.bmp'))
Image4.Parent:=Panel4
Label4:=TLabel.Create(WizardForm)
Label4.Left:=0
Label4.Top:=0
Label4.Width:=Panel4.Width
Label4.Height:=Panel4.Height
Label4.Autosize:=False
Label4.Transparent:=True
Label4.Cursor:=crHand
Label4.OnMouseMove:=@LabelMouseMove4
Label4.OnClick:=@ButtonClick4
Label4.Parent:=Panel4
Panel5:=TPanel.Create(WizardForm)
Panel5.Left:=108
Panel5.Top:=489
Panel5.Width:=64
Panel5.Height:=16
Panel5.Parent:=WizardForm
Image5:=TBitmapImage.Create(WizardForm)
Image5.Autosize:=True
Image5.Enabled:=False
Image5.Bitmap.LoadFromFile(ExpandConstant('{tmp}\btn5.bmp'))
Image5.Parent:=Panel5
Label5:=TLabel.Create(WizardForm)
Label5.Left:=0
Label5.Top:=0
Label5.Width:=Panel5.Width
Label5.Height:=Panel5.Height
Label5.Autosize:=False
Label5.Transparent:=True
Label5.Cursor:=crHand
Label5.OnMouseMove:=@LabelMouseMove5
Label5.OnClick:=@ButtonClick5
Label5.Parent:=Panel5
end;