Inno setup 如何在Inno设置中为SendMessage函数实现MAKELPARAM?

Inno setup 如何在Inno设置中为SendMessage函数实现MAKELPARAM?,inno-setup,Inno Setup,当安装程序在安装窗口中移动鼠标时,我想在安装程序中创建一个页面,以下是SendMessage文档: 问题是我需要MAKELPARAM实现来设置x,y位置。 有人能帮我吗?在Inno Setup Pascal脚本中,根据SDK,消息参数的宏可以写成: [Code] type LONG_PTR = LongInt; LRESULT = LONG_PTR; WPARAM = UINT_PTR; LPARAM = LONG_PTR; function MakeLong(A, B:

当安装程序在安装窗口中移动鼠标时,我想在安装程序中创建一个页面,以下是SendMessage文档: 问题是我需要MAKELPARAM实现来设置x,y位置。
有人能帮我吗?

在Inno Setup Pascal脚本中,根据SDK,消息参数的宏可以写成:

[Code]
type
  LONG_PTR = LongInt;
  LRESULT = LONG_PTR;  
  WPARAM = UINT_PTR;
  LPARAM = LONG_PTR;

function MakeLong(A, B: Word): LongInt;
begin
  Result := A or B shl 16;
end;

function MakeWParam(L, H: Word): WPARAM;
begin
  Result := WPARAM(DWORD(MakeLong(L, H)));
end;

function MakeLParam(L, H: Word): LPARAM;
begin
  Result := LPARAM(DWORD(MakeLong(L, H)));
end;

function MakeLResult(L, H: Word): LRESULT;
begin
  Result := LRESULT(DWORD(MakeLong(L, H)));
end;


但我想建议您不要使用消息发送来模拟用户的输入。我个人会通过使用函数来使用更可靠的方法。我在中做了一些基本的例子。

你不应该这样做。为用户移动鼠标很烦人(特别是当用户在做其他事情时,您的安装恰好在后台完成,然后“有益地”移动鼠标,破坏了他们实际的工作时)。如果您试图自动化某些东西(如子安装程序),则应使用适合该任务的工具(如静默运行并提供正确的命令行参数或响应文件)。