我注意到以下现象:
使用Delphi 7构建的可执行文件和部分名称(包括"Update")(例如"UpdateMyApp.exe")会导致UAC显示警告,例如"您是否允许程序对您的计算机进行更改".
这是通过简单的hello world应用程序实现的.在资源管理器中显示该文件会显示覆盖在应用程序图标上的屏蔽符号.
只要重命名exe,屏蔽就会消失,应用程序会在没有警告的情况下启动.
如上所述,这只发生在使用Delphi 7构建并在Windows 7上启动的程序(我假设在Vista上相同),但不是在例如WinXP上.
使用Delphi 2007快速检查表明此问题已消失.
有趣......吓人......
除了重命名文件外,我该怎么做才能防止这种情况发生?
我记得在几年前读过一篇文章或帖子,建议在项目中包含一个资源文件,方法是引用.rc文件而不是已编译的.res文件,以便资源构建为项目构建过程的一部分.
我有一个glyphs.rc文件,我目前使用命令brcc32 glyphs.rc编译.在我的项目文件中,我有声明{$ R Glyphs.res}.
我想通过改变它来简化它
{$R Glyphs.rc}
Run Code Online (Sandbox Code Playgroud)
但我不确定语法.当我尝试使用时,{$R Glyphs.rc}我得到一个错误`
[DCC Error] E2161 Error: RLINK32: Unsupported 16bit resource in file "Glyphs.rc".
Run Code Online (Sandbox Code Playgroud)
这种方法可以用Delphi 2007吗?