【问题标题】:Inno Setup - BorderIcons dropdown menuInno Setup - BorderIcons 下拉菜单
【发布时间】:2019-07-04 14:17:18
【问题描述】:

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

当我点击关于时,它会显示有关 Inno Setup 版本的信息,我真的不想在那里。

我是否能够以某种方式禁用整个这个下拉菜单而不实际禁用整个系统菜单或禁用边框?或者至少禁用 About 选项或将其内容更改为我自己的,因此它在某些方面几乎没有用处。

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

【问题讨论】:

  • 如何拦截about框菜单项可以找here。但同样,这违反了许可证。
  • 我不知道 :/ 无论如何,谢谢大家的帮助,去尝试一下,看看它是如何工作的......并重新阅读许可证原因,正如我现在看到的那样,我忽略了一些(对我来说......)重要信息......
  • 不客气!无论如何,不​​要忘记accept answers 解决您的问题。感谢并欢迎使用 StackOverflow!
  • 我还有一个问题 TLama... 我知道 GOG 也在使用 Inno Setup,而且他们似乎使用 bsDialog 作为边框样式,也阻止了 About 那种方式...另外,我不'不知道这是否真的可以称为违反许可协议,因为信息在那里,但它们被阻止,就像 GOG 所做的那样,例如图形安装程序所做的......因为图形安装程序甚至鼓励你阻止它......通过完全删除边框...这样,您也删除了关于信息,所以我不介意这实际上是个大问题...
  • 另外,他们似乎主要不希望用户和公司声称安装程序是他们的,即使他们弄乱了源代码本身,我不打算这样做,所以我不这样做不知道...无论如何,正如我已经告诉你们的那样,谢谢你们的帮助:)

标签: inno-setup


【解决方案1】:

您可以使用 WinAPI DeleteMenu 函数删除关于菜单项。首先,您必须检索系统菜单的句柄,然后使用DeleteMenu 函数删除菜单条目。

试试这个代码:

[Code]
const
  MF_BYCOMMAND = $00000000;
  MF_BYPOSITION = $00000400;

type
  HMENU = THandle;

function GetSystemMenu(hWnd: HWND; bRevert: BOOL): HMENU; external 'GetSystemMenu@user32.dll stdcall';
function DeleteMenu(hMenu: HMENU; uPosition, uFlags: UINT): BOOL; external 'DeleteMenu@user32.dll stdcall';
function GetMenuItemCount(hMenu: HMENU): Integer; external 'GetMenuItemCount@user32.dll stdcall';

procedure InitializeWizard;
var
  SystemMenu: HMENU;
begin
  { get the menu handle }
  SystemMenu := GetSystemMenu(WizardForm.Handle, False);
  { delete the `About Setup` menu (which has ID 9999) }
  DeleteMenu(SystemMenu, 9999, MF_BYCOMMAND);
  { delete the separator }
  DeleteMenu(SystemMenu, GetMenuItemCount(SystemMenu)-1, MF_BYPOSITION);
  { ... }
end;

您也可以使用相同的技术来添加您自己的系统菜单条目。

【讨论】:

  • 值得一提的是,通过删除关于框菜单条目的内容,您违反了 Inno Setup 许可证。
  • @TLama 我不知道这一点。你能指出一些关于这个的文档吗?
  • the license 的第 2 点说:“所有二进制形式的再分发必须保留所有出现的上述版权声明和当前存在的网站地址(例如,在关于框)。” 我认为也包括菜单项。
  • 是的,这工作正常 :) 我会检查 TLama 在评论中发布的链接以查看该链接是如何工作的,但这基本上是我正在寻找的答案......但我'一定会检查许可证......我不想违反任何东西......
猜你喜欢
  • 1970-01-01
  • 2018-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-27
  • 2015-08-08
相关资源
最近更新 更多