View Single Post
  #170  
Old 03-02-2013, 23:19
thilanka thilanka is offline
Registered User
 
Join Date: Oct 2011
Location: CO
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
thilanka is on a distinguished road
I want to Automatically detect and set MAC Address to Input Query when i run setup

(Sorry for my English)



I want to Automatically detect and set MAC Address to Input Query when i run setup ( inno setup key generator).

Attachment 5554

Attachment 5555

Please send me the Script because i have no knowledge about this coding


This is very Important to me please help me


Thank you very much


This is inno script




[_ISTool]

EnableISX=true

Use7zip=false

[Files]

Source: sample2.iky; DestDir: {tmp}; Flags: ignoreversion

Source: ISID.dll; DestDir: {sys}\ISID; Flags: ignoreversion


[Setup]

AppName=Inno Key Generator2

AppVerName=Inno Key Generator 1.0.2.1 2

DefaultDirName={pf}\MJ Freelancing\IKG

DefaultGroupName=Inno Key Generator

OutputDir=output

AppCopyright=Copyright © Oct 2002 - 2006 MJ Freelancing

OutputBaseFilename=IKGSetup


[ThirdParty]

CompileLogMethod=append


[Code]


function ValidateSerialNumber(InnoKeyFile, User, Orgn, ProdCode, HDD, MAC, PrivateKey, Serial: AnsiString): Boolean;

external 'ValidateSerialNumber@files:ISID.dll stdcall';

function GetMACAddress(output: AnsiString): Boolean;

external 'GetMACAddress@files:ISID.dll stdcall';


var

UserPage: TInputQueryWizardPage;

UserValues: TArrayOfString;

I: Integer;

procedure InitializeWizard();

begin

{ create the custom page }

UserPage := CreateInputQueryPage(wpInfoBefore, //wpWelcome,

'Enter Registration Details', 'You need to be a registered user to be able to proceed',

'Enter your registration details exactly (case sensitive), then click Next.');

UserPage.Add('MAC Address:', False);
UserPage.Add('Unlock Code:', False);
UserPage.Add('Private Key:', False);

// here's how to assign texts to those edit boxes
UserPage.Edits[0].Text := 'Detect and set MAC Address';
UserPage.Edits[1].Text := '123456789_Unlock';
UserPage.Edits[2].Text := 'Pr1v4t3 k3y';

// iterate all edit boxes to set them ReadOnly mode and gray color in
// an easier way than writing the same three times for all edit boxes
for I := 0 to 2 do
begin
UserPage.Edits[I].ReadOnly := True;
UserPage.Edits[I].Color := clBtnFace;
end;

{ Set default values }

SetArrayLength(UserValues, 3);

end;

function ScriptDlgPages(CurPage: Integer; BackClicked: Boolean): Boolean;

var

ExpPath: String;

begin

Result := True;

if (CurPage = UserPage.ID) then

begin

ExtractTemporaryFile('sample2.iky'); { the public key file }

ExpPath := ExpandConstant('{tmp}\sample2.iky');

Result := False;

UserValues[0] := UserPage.Values[0];
UserValues[1] := UserPage.Values[1];
UserValues[2] := UserPage.Values[2];

if (UserValues[0] = '') or (UserValues[1] = '') or (UserValues[2] = '') then

MsgBox('No fields can be blank !', mbError, MB_OK)

else

begin



//UserPage.Values[0] := GetPreviousData('MAC', UserValues[0]);

//UserPage.Values[1] := GetPreviousData('Unlock', UserValues[1]);

//UserPage.Values[2] := GetPreviousData('Private', UserValues[2]);



//function ValidateSerialNumber(InnoKeyFile, User, Orgn, PCe,HDD,MAC,PrivateKey, Serial: AnsiString): Boolean;

Result := ValidateSerialNumber( ExpPath,'','','','',UserValues[0],UserValues[2],UserValues[1] );

if (not Result) then

MsgBox('Invalid Entry !', mbError, MB_OK);

end
end

end;


function NextButtonClick(CurPage: Integer): Boolean;

begin

Result := ScriptDlgPages(CurPage, False);

end;

function BackButtonClick(CurPage: Integer): Boolean;

begin

Result := True;//ScriptDlgPages(CurPage, True);

end;

function HasHtmlHelp(): Boolean;

begin

{ HHCTRL.OCX GUID }

Result := RegValueExists(HKCR, 'CLSID\{4662DAB0-D393-11D0-9A56-00C04FB68B66}\InprocServer32', '');

end;

function HasNoHtmlHelp(): Boolean;

begin

Result := not HasHtmlHelp;

end;

Last edited by thilanka; 21-11-2013 at 01:49.
Reply With Quote