Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Пользователь


Сообщения: 148
Благодарности: 49

Профиль | Отправить PM | Цитировать


ShadeUa,
Скрытый текст
Код: Выделить весь код
function InitializeSetup:boolean;
begin
  if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
  if not FileExists(ExpandConstant('{tmp}\1.png')) then ExtractTemporaryFile('1.png');
  Result:=True;
end;

#ifdef UNICODE
    #define A "W"
#else
    #define A "A"
#endif

const
  GWL_WNDPROC = -4;
  WM_NCLBUTTONDOWN = $00A1;
type
  LPARAM = Integer;
  WPARAM = Integer;
  LRESULT = Integer;
  TFNWndProc = Integer;
var
  OldWindowProc: Longint;

function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; external 'SetWindowLong{#A}@user32.dll stdcall';
function CallWindowProc(lpPrevWndFunc: TFNWndProc; hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; external 'CallWindowProc{#A}@user32.dll stdcall';

function WindowProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT;
begin
  case Msg of
    WM_NCLBUTTONDOWN:
    begin
      Msg := 0;
      WizardForm.Close;
    end;
  end;
  Result := CallWindowProc(OldWindowProc, hWnd, Msg, wParam, lParam);
end;

procedure CloseForm(Sender: TObject);
begin
  WizardForm.Close;
end;

procedure InitializeWizard;
begin
  CreateFormFromImage(wizardform.Handle,ExpandConstant('{tmp}\1.png'));
  ImgApplyChanges(WizardForm.Handle);
  OldWindowProc := SetWindowLong(WizardForm.Handle, GWL_WNDPROC, CallbackAddr('WindowProc'));
end;

procedure DeinitializeSetup();
begin
  SetWindowlong(WizardForm.Handle, GWL_WNDPROC, OldWindowProc);
  gdipShutdown;
end;

на кнопку, на форму, картинку. удачи

Отправлено: 21:59, 18-01-2015 | #2340