前段时间我开发了一个视频游戏,当时 WinXP 是当前的 Windows 版本。游戏需要在系统中安装自己的字体,如果它不存在的话。我不记得我在代码中是如何做到这一点的,我想我要么使用了特定的 WinAPI 函数,要么只是将字体文件复制到了 Fonts 文件夹中——无论哪种方式,当时都可以正常工作。
但是,现在有人在Win7上运行游戏时,除非用户以管理员身份运行,否则游戏无法安装字体。游戏可以运行,但使用了可怕的默认字体,因此用户甚至没有意识到有问题,只是认为游戏看起来很糟糕。
所以我需要的是使 exe 文件始终要求以管理员身份运行。我可以重新编译游戏并设置构建,以便 exe 文件始终需要管理员权限,但我没有一些我已经使用过的 SDK,因此重建可能会有些困难。
所以我想做的是:我可以以某种方式简单地修改 .exe 文件,而不需要源代码,以便它始终要求以管理员身份运行吗?
我发现我需要把它放在清单中:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
但我可以编辑 exe 文件的清单吗?我已经尝试过使用资源的 XN 资源编辑器,但它似乎无法编辑清单。
是否有可能做到这一点?
谢谢。