Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)

Модерирует : gyra, Maz

articlebot (13-10-2013 23:33): продолжение темы - №15
 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
#include "botva2.iss"
[Setup]
AppName=My Program
AppVersion=1.5
AppVerName=My Program 1.5
DefaultDirName={pf}\My Program
 
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Files]
Source: music.mp3; DestDir: {tmp}; Flags: nocompression
Source: botva2.dll; DestDir: {tmp}; Flags: nocompression
Source: BASS_Files\bass.dll; DestDir: {tmp}; Flags: nocompression
Source: BASS_Files\botva2.dll; DestDir: {tmp}; Flags: nocompression
Source: BASS_Files\CallbackCtrl.dll; DestDir: {tmp}; Flags: nocompression
Source: BASS_Files\MusicButton.png; DestDir: {tmp}; Flags: nocompression
Source: BASS_Files\WFEnter.wav; DestDir: {tmp}; Flags: nocompression
Source: BASS_Files\Click.wav; DestDir: {tmp}; Flags: nocompression
Source: BASS_Files\Check.wav; DestDir: {tmp}; Flags: nocompression
 
 
[Code]
//************************************************ [Начало - Музыка] ***************************************************//
 
#ifdef UNICODE
    #define A "W"
    PChar = PAnsiChar;
  #else
    #define A "A"
#endif
 
const
  BASS_ACTIVE_PLAYING = 1;
  BASS_ACTIVE_STALLED = 2;
  BASS_ACTIVE_PAUSED = 3;
  BASS_SAMPLE_LOOP = 4;
var
  MusicButton1,MusicButton2,mp3Handle: HWND;
  mp3Name: String;
 
function sndPlaySound(lpszSoundName: String; uFlags: cardinal):integer; external 'sndPlaySound{#A}@winmm.dll stdcall';
function BASS_Init(device: Integer; freq, flags: DWORD; win: hwnd; CLSID: Integer): Boolean; external 'BASS_Init@files:BASS.dll stdcall delayload';
function BASS_StreamCreateFile(mem: BOOL; f: PChar; offset: DWORD; length: DWORD; flags: DWORD): DWORD; external 'BASS_StreamCreateFile@files:BASS.dll stdcall delayload';
function BASS_Start(): Boolean; external 'BASS_Start@files:BASS.dll stdcall delayload';
function BASS_ChannelPlay(handle: DWORD; restart: BOOL): Boolean; external 'BASS_ChannelPlay@files:BASS.dll stdcall delayload';
function BASS_ChannelIsActive(handle: DWORD): Integer; external 'BASS_ChannelIsActive@files:BASS.dll stdcall delayload';
function BASS_ChannelPause(handle: DWORD): Boolean; external 'BASS_ChannelPause@files:BASS.dll stdcall delayload';
function BASS_Pause(): Boolean; external 'BASS_Pause@files:BASS.dll stdcall delayload';
function BASS_Stop(): Boolean; external 'BASS_Stop@files:BASS.dll stdcall delayload';
function BASS_Free(): Boolean; external 'BASS_Free@files:BASS.dll stdcall delayload';
 
function InitializeSetup:boolean;
begin
  if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
  if not FileExists(ExpandConstant('{tmp}\CallbackCtrl.dll')) then ExtractTemporaryFile('CallbackCtrl.dll');
  Result:=True;
end;
 
procedure WFBtnEnter(hBtn:HWND);
begin
  sndPlaySound(ExpandConstant('{tmp}\WFEnter.wav'), $0001);
end;
 
procedure MusicButtonClick(hBtn:HWND);
begin
  sndPlaySound(ExpandConstant('{tmp}\Click.wav'), $0001);
  if BtnGetChecked(hBtn) then begin
 
 
  BASS_ChannelPause(mp3Handle);
  end else
  case BASS_ChannelIsActive(mp3Handle) of
  BASS_ACTIVE_PAUSED:
  begin
  BASS_ChannelPlay(mp3Handle, False);
  end;
end;
  btnSetChecked(MusicButton1, BtnGetChecked(hBtn))
  btnSetChecked(MusicButton2, BtnGetChecked(hBtn))
end;
 
 
procedure InsertMusic;
begin
  ExtractTemporaryFile('MusicButton.png');
  ExtractTemporaryFile('BASS.dll');
  ExtractTemporaryFile('Music.mp3');
  ExtractTemporaryFile('Click.wav');
  ExtractTemporaryFile('Check.wav');
  ExtractTemporaryFile('WFEnter.wav');
 
 
  MusicButton1:=BtnCreate(WizardForm.WelcomePage.Handle,ScaleX(20),ScaleY(20),ScaleX(25),ScaleY(23),ExpandConstant('{tmp}\MusicButton.png'),0,True);
   
  BtnSetEvent(MusicButton1,BtnClickEventID,WrapBtnCallback(@MusicButtonClick,1));
  BtnSetEvent(MusicButton1,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1));
  BtnSetVisibility(MusicButton1,True);
  BtnSetCursor(MusicButton1,GetSysCursorHandle(32649));
  ImgApplyChanges(WizardForm.WelcomePage.Handle);
 
   
 
 
  MusicButton2:=BtnCreate(WizardForm.SelectDirPage.Handle,ScaleX(20),ScaleY(20),ScaleX(25),ScaleY(23),ExpandConstant('{tmp}\MusicButton.png'),0,True);
  BtnSetEvent(MusicButton2,BtnClickEventID,WrapBtnCallback(@MusicButtonClick,1));
  BtnSetEvent(MusicButton2,BtnMouseEnterEventID,WrapBtnCallback(@WFBtnEnter,1));
  BtnSetVisibility(MusicButton2,True);
  BtnSetCursor(MusicButton2,GetSysCursorHandle(32649));
  ImgApplyChanges(WizardForm.SelectDirPage.Handle);
 
  mp3Name := ExpandConstant('{tmp}\Music.mp3');
  BASS_Init(-1, 44100, 0, 0, 0);
  mp3Handle := BASS_StreamCreateFile(FALSE, PChar(mp3Name), 0, 0, BASS_SAMPLE_LOOP);
  BASS_Start();
  BASS_ChannelPlay(mp3Handle, False);
end;
 
//************************************************ [Конец - Музыка] ***************************************************//
 
procedure InitializeWizard;
begin
 InsertMusic;
end;
 
procedure CurPageChanged(CurPageID: Integer);
begin
ImgApplyChanges(WizardForm.Handle);
end;
 
 
procedure DeinitializeSetup();
begin
  BASS_Stop();
  BASS_Free();
  gdipShutdown;
end;

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 20:42 18-08-2011 | Исправлено: vint56, 20:45 18-08-2011
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
articlebot (13-10-2013 23:33): продолжение темы - №15


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru