View Single Post
  #1  
Old 30-10-2017, 22:05
l4km47's Avatar
l4km47 l4km47 is offline
Registered User
 
Join Date: Oct 2016
Location: sri lanka
Posts: 18
Thanks: 44
Thanked 6 Times in 1 Post
l4km47 is on a distinguished road
Unhappy Cannot import USER32.DLL

this is my code. found from git hub. after compile and run. geting error "cannot import user32.dll"


Code:
[Setup]
AppName=AutoRun
AppVerName=AutoRun
CreateAppDir=no
SetupIconFile=icon.ico
WizardImageFile=wizard.bmp
OutputBaseFilename=autorun

[Messages]
SetupAppTitle=AutoRun

[Files]
Source: btn1.bmp; DestDir: {tmp}; Flags: dontcopy
Source: btn2.bmp; DestDir: {tmp}; Flags: dontcopy
Source: btn3.bmp; DestDir: {tmp}; Flags: dontcopy
Source: btn4.bmp; DestDir: {tmp}; Flags: dontcopy
Source: btn5.bmp; DestDir: {tmp}; Flags: dontcopy
Source: start.mp3; DestDir: {tmp}; Flags: dontcopy
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;
Reply With Quote
Sponsored Links