可以使用资源编辑器将清单资源添加到VB6项目吗?

可以使用资源编辑器将清单资源添加到VB6项目吗?,第1张

概述我们有一个VB6项目,编译成一个ActiveX EXE,恰好在文件名中有“patch”一词(它是警察调度系统的一部分),这导致 Windows 7上的 Installer Detection认为它需要提升. 我不想重命名EXE,而是将清单资源嵌入到编译的EXE中,该EXE将请求asInvoker权限级别.从阅读开始,我知道我可以在使用Windows SDK中的mt工具编译EXE后执行此 *** 作,但我更 我们有一个VB6项目,编译成一个ActiveX EXE,恰好在文件名中有“patch”一词(它是警察调度系统的一部分),这导致 Windows 7上的 Installer Detection认为它需要提升.

我不想重命名EXE,而是将清单资源嵌入到编译的EXE中,该EXE将请求asInvoker权限级别.从阅读开始,我知道我可以在使用windows SDK中的mt工具编译EXE后执行此 *** 作,但我更喜欢将清单放在.RES文件中,以便在构建项目时将其编译到程序中.

有没有办法使用资源编辑器加载项将清单资源(资源类型24)添加到VB6项目?我将清单文件添加为自定义资源,并为资源类型尝试了一些不同的值,例如“RT_MANIFEST”和“24”,然后通过使用mt重新提取清单来测试它是否正常工作,但我不能让它工作.

注意:正如我访问的几个页面所提到的,我确实记得使清单成为4个字节的偶数倍,所以我认为这不是问题所在.

解决方法 起初,我以为我会尝试使用rc来创建一个我可以添加到项目中的.RES文件.我之前从未使用过rc,所以我在试图找出它时最终得到了这个 MSDN page.

有趣的是该页面上对typenameID的描述(强调添加):

Type name or IDentifIEr for the
resource. Specify a string name or a
number. If using a number,prepend the
string with a “#” to indicate that it
represents a number. Each resourceType
element must have only one typenameID
attribute.

我心想,“嗯,这很有趣,可能不适用于VB6的资源编辑器,但无论如何我都会尝试.”

请注意,如果您将清单文件添加为自定义资源,然后将其类型更改为#24(即使用#前缀),则可以正常工作!它在编译的EXE中被正确嵌入为清单资源.

以下是详细步骤:

1)创建清单文件.我用过这个(请注意,在我的情况下,最后的填充使文件正好是608字节):

<?xml version="1.0" enCoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">    <assemblyIDentity version="1.0.0.0" name="dispatchMonitor" type="win32"/>    <description>dispatchMonitor RunAsInvoker fix</description>    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">        <security>            <requestedPrivileges>                <requestedExecutionLevel level="asInvoker" uiAccess="false"/>            </requestedPrivileges>        </security>    </trustInfo> </assembly> <!-- padding to make filesize even multiple of 4 -->

2)从“工具”菜单中选择“资源编辑器”,打开VB6 IDE中的“资源编辑器”(可能必须先在“加载项”>“加载项管理器”中启用它).

3)如有必要,创建一个新的资源文件.

4)添加新的自定义资源(单击“?”图标左侧的按钮).

5)出现文件选择对话框:选择在步骤1中创建的清单文件.

6)默认情况下,资源将添加到ID为101的“CUSTOM”文件夹下.

7)双击新资源.将“类型”更改为#24,将“ID”更改为1.

8)保存更改并关闭资源编辑器.

总结

以上是内存溢出为你收集整理的可以使用资源编辑器将清单资源添加到VB6项目吗?全部内容,希望文章能够帮你解决可以使用资源编辑器将清单资源添加到VB6项目吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1222492.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存