inno-setup - 如何仅在向导参数内的 Inno Setup 中设置自定义 .cur 或 .ani 光标?
问题描述
我在一个安装程序的 innosetup 脚本中写了这个我试图加载一个自定义光标,该光标只在安装程序向导的参数中可见,并且鼠标离开向导参数它应该回到默认光标,但仍然它不起作用提前感谢您的帮助。
[files]
#ifexist "Setup\Cursor.cur"
Source: Setup\Cursor.cur; DestDir: {tmp}; Flags: dontcopy
#endif
[code]
const
GCL_HCURSOR = (-12);
OCR_NORMAL = 32512;
var
OldCursor, NewCursor: Longint;
function LoadCursorFromFile(FileName: String): Longint; external 'LoadCursorFromFileW@user32 stdcall';
function SetClassLong(hWnd: HWND; Index, NewLong: Longint): Longint; external 'SetClassLongW@user32 stdcall';
function SetCursor(Cursor: Longint): Longint; external 'SetCursor@user32 stdcall';
function SetSystemCursor(Cursor, CurType: Longint): Longint; external 'SetSystemCursor@user32 stdcall';
function SetWindowPos(hWnd: HWND; hWndInsertAfter: HWND; X, Y, cx, cy: Integer; uFlags: UINT): BOOL; external 'SetWindowPos@user32.dll stdcall';
function GetCursor(): Longint; external 'GetCursor@user32 stdcall';
procedure SettingCursor;
begin
if FileExists(ExpandConstant('{tmp}\Cursor.cur')) then begin
NewCursor:= LoadCursorFromFile(ExpandConstant('{tmp}\Cursor.cur'));
OldCursor:= SetClassLong(WizardForm.Handle, GCL_HCURSOR, NewCursor);
end;
end;
procedure InitializeWizard;
begin
SettingCursor;
end;
function InitializeSetup(): Boolean;
begin
#ifexist "Setup\Cursor.cur"
ExtractTemporaryFile('Cursor.cur');
#endif
end;