Inno setup 如何在Inno设置中为SendMessage函数实现MAKELPARAM?
当安装程序在安装窗口中移动鼠标时,我想在安装程序中创建一个页面,以下是SendMessage文档: 问题是我需要MAKELPARAM实现来设置x,y位置。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:
有人能帮我吗?在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;
但我想建议您不要使用消息发送来模拟用户的输入。我个人会通过使用函数来使用更可靠的方法。我在中做了一些基本的例子。你不应该这样做。为用户移动鼠标很烦人(特别是当用户在做其他事情时,您的安装恰好在后台完成,然后“有益地”移动鼠标,破坏了他们实际的工作时)。如果您试图自动化某些东西(如子安装程序),则应使用适合该任务的工具(如静默运行并提供正确的命令行参数或响应文件)。