Inno setup Inno设置-边框图标下拉菜单

Inno setup Inno设置-边框图标下拉菜单,inno-setup,Inno Setup,我发现当你们点击左上角安装程序的图标时,会出现下拉菜单,显示最小化、最大化、关闭和关于选项 当我单击“关于”时,它会显示有关Inno安装版本的信息,我真的不想出现在那里 我是否能够在不禁用整个系统菜单或边框的情况下禁用整个下拉菜单?或者最低限度地禁用About选项,或者将其内容更改为我自己的,所以它在某种程度上是最低限度地有用的 感谢您对此问题提供的任何帮助。您可以使用WinAPI函数删除“关于”菜单项。首先必须检索系统菜单的句柄,然后使用deletemu功能删除菜单项 请尝试以下代码: [代码

我发现当你们点击左上角安装程序的图标时,会出现下拉菜单,显示最小化、最大化、关闭和关于选项

当我单击“关于”时,它会显示有关Inno安装版本的信息,我真的不想出现在那里

我是否能够在不禁用整个系统菜单或边框的情况下禁用整个下拉菜单?或者最低限度地禁用About选项,或者将其内容更改为我自己的,所以它在某种程度上是最低限度地有用的


感谢您对此问题提供的任何帮助。

您可以使用WinAPI函数删除“关于”菜单项。首先必须检索系统菜单的句柄,然后使用
deletemu
功能删除菜单项

请尝试以下代码:

[代码]
常数
MF_BYCOMMAND=$00000000;
MF_BYPOSITION=$00000400;
类型
汉努=坦德尔;
函数GetSystemMenu(hWnd:hWnd;bRevert:BOOL):menu;外部的GetSystemMenu@user32.dllstdcall';
功能删除菜单(humenu:humenu;上置,uFlags:UINT):BOOL;外部的DeleteMenu@user32.dllstdcall';
函数GetMenuItemCount(humenu:humenu):整数;外部的GetMenuItemCount@user32.dllstdcall';
程序初始化;
变量
系统菜单:华浓;
开始
{获取菜单句柄}
SystemMenu:=GetSystemMenu(WizardForm.Handle,False);
{删除'About Setup'菜单(其ID为9999)}
删除菜单(系统菜单,9999,MF_BYCOMMAND);
{删除分隔符}
DeleteMenu(系统菜单,GetMenuItemCount(系统菜单)-1,MF\U按位置);
{ ... }
终止

您还可以使用相同的技术添加自己的系统菜单项。

您可以使用WinAPI函数删除“关于”菜单项。首先必须检索系统菜单的句柄,然后使用
deletemu
功能删除菜单项

请尝试以下代码:

[代码]
常数
MF_BYCOMMAND=$00000000;
MF_BYPOSITION=$00000400;
类型
汉努=坦德尔;
函数GetSystemMenu(hWnd:hWnd;bRevert:BOOL):menu;外部的GetSystemMenu@user32.dllstdcall';
功能删除菜单(humenu:humenu;上置,uFlags:UINT):BOOL;外部的DeleteMenu@user32.dllstdcall';
函数GetMenuItemCount(humenu:humenu):整数;外部的GetMenuItemCount@user32.dllstdcall';
程序初始化;
变量
系统菜单:华浓;
开始
{获取菜单句柄}
SystemMenu:=GetSystemMenu(WizardForm.Handle,False);
{删除'About Setup'菜单(其ID为9999)}
删除菜单(系统菜单,9999,MF_BYCOMMAND);
{删除分隔符}
DeleteMenu(系统菜单,GetMenuItemCount(系统菜单)-1,MF\U按位置);
{ ... }
终止

您还可以使用相同的技术添加自己的系统菜单项。

值得一提的是,删除“关于”框菜单项,您违反了Inno安装许可证。@TLama我不知道这一点。你能指出一些关于这一点的文档吗?的第2点说:“所有二进制形式的重新分发必须保留所有出现的上述版权声明和当前存在的网站地址(例如,在“关于”框中)。”我想这也包括菜单项。是的,这是工作良好:)我会检查的链接,特拉马张贴在评论的问题,看看如何工作,但这基本上是答案,我一直在寻找。。。但我一定会查一下驾照。。。我不想违反任何规定……值得一提的是,删除“关于”框菜单项就是违反了Inno安装许可证。@TLama我不知道这一点。你能指出一些关于这一点的文档吗?的第2点说:“所有二进制形式的重新分发必须保留所有出现的上述版权声明和当前存在的网站地址(例如,在“关于”框中)。”我想这也包括菜单项。是的,这是工作良好:)我会检查的链接,特拉马张贴在评论的问题,看看如何工作,但这基本上是答案,我一直在寻找。。。但我一定会查一下驾照。。。我不想违反任何规定……如何拦截您可以找到的“关于”框菜单项。但同样,这是一个违反许可证的行为。我不知道:/无论如何,谢谢大家的帮助,我将尝试一下,看看它是如何工作的。。。重新阅读许可证,因为我现在看到我忽略了一些(对我来说…)重要信息…不客气!无论如何,别忘了解决你的问题。感谢并欢迎来到StackOverflow!我还有一个问题,特拉玛。。。我知道GOG也在使用Inno设置,而且他们似乎也在使用bsDialog作为边界样式,以这种方式进行阻塞。。。另外,我不知道这是否真的可以被称为破坏许可协议,因为信息是存在的,但它们被阻止了,就像GOG做的一样,例如图形安装程序做的一样。。。因为图形安装程序甚至鼓励您阻止它。。。通过完全删除边框。。。这样一来,你也可以删除关于信息的内容,所以我不介意这件事,因为事实上这是一件大事……而且,看起来他们主要不希望用户和公司声称安装程序是他们的,即使他们弄乱了源代码本身,我也不打算这么做,所以我不知道。。。无论如何,正如我已经告诉你们的,谢谢你们的帮助:)如何截取你们能找到的关于框菜单项。但同样,这是一个违反许可证的行为。我不知道:/无论如何,谢谢大家的帮助,我将尝试一下,看看它是如何工作的。。。重新阅读许可证,因为我现在看到我忽略了一些(对我来说…)重要信息…不客气!无论如何,别忘了解决你的问题。感谢并欢迎来到StackOverflow!我还有一个问题,特拉玛。。。我知道GOG也在使用Inno设置,而且他们似乎也在使用bsDialog作为边界样式,以这种方式进行阻塞。。。另外,我不知道这是否真的可以被称为破坏许可协议,因为信息是存在的,但它们被阻止了,就像GOG做的一样,例如G