Windows 使用NSIS将窗口移动到屏幕的角落

Windows 使用NSIS将窗口移动到屏幕的角落,windows,winapi,positioning,nsis,Windows,Winapi,Positioning,Nsis,我正在尝试使用以下代码重新定位nsDialogs窗口: 我没有包括System.nsh文件,好像我包括了我得到的错误: !define: "IMAGE_BITMAP" already defined! !include: error in script: "C:\Program Files (x86)\NSIS\Examples\System\System.nsh" on line 267 如果未包含System.nsh文件,则会出现以下错误: unknown variable/consta

我正在尝试使用以下代码重新定位nsDialogs窗口:

我没有包括System.nsh文件,好像我包括了我得到的错误:

!define: "IMAGE_BITMAP" already defined!
!include: error in script: "C:\Program Files (x86)\NSIS\Examples\System\System.nsh" on line 267
如果未包含System.nsh文件,则会出现以下错误:

unknown variable/constant "{stRECT}" detected,
什么是应力变量?如何避免这些错误中的至少一个,并使用NSIS重新定位我的窗口?我正在使用最新版本的NSIS

!include nsDialogs.nsh
!undef IMAGE_BITMAP
!include "${NSISDIR}\Examples\System\System.nsh"
…如果nsDialogs.nsh是冲突的标题,您可能必须这样做!取消定义其他图像类型


…如果nsDialogs.nsh是冲突的标题,您可能必须这样做!取消定义其他图像类型。

它不是一个变量,只是!定义stRECT“(i,i,i,i)i”,这只是一个简化system::call语法的助手定义。在system.nsh中找到了它!非常感谢。它不是一个变量,它只是!定义stRECT“(i,i,i,i)i”,这只是一个简化system::call语法的助手定义。在system.nsh中找到了它!非常感谢。找到一个解决方案。。。创建System.nsh的本地副本并删除所有我不需要的定义。这显然是一个bug,我将在下一个版本中修复它,这样修改本地副本就可以了(尽管脚本不再与2.46兼容,但如果需要的话,!undef更好)。另一个解决方案是只搜索并用实际值替换${stRect},然后根本不包括System.nsh…找到一个修复程序。。。创建System.nsh的本地副本并删除所有我不需要的定义。这显然是一个bug,我将在下一个版本中修复它,这样修改本地副本就可以了(尽管脚本不再与2.46兼容,但如果需要的话,!undef更好)。另一种解决方案是只搜索并用实际值替换${stRect},然后根本不包括System.nsh。。。