起初,我想我會嘗試使用rc
創建一個.RES
文件,我可以將其添加到我的項目中。我之前從未使用過rc
,所以我在試圖弄清楚的時候最終得到了這個MSDN page。
什麼是有趣的是這樣描述的typeNameId
該網頁上(強調):
鍵入名稱或標識的 資源。指定一個字符串名稱或一個 數字。 如果使用數字,請在 字符串前面加上「#」,表示它 代表的數字爲。每個資源類型 元素必須只有一個typeNameId 屬性。
我心想:「好吧,這很有趣,可能不適用於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中創建的清單文件的資源將一個「自定義」文件夾下加入由默認的101 ID。
7)雙擊新資源。將「類型」更改爲#24
,將「Id」更改爲1.
8)保存更改並關閉資源編輯器。
有趣的問題。我們在Vista上遇到過幾個exes問題,並通過重命名exes或更改項目設置中的某些屬性來解決此問題。 – MarkJ 2010-07-02 16:39:07
重命名是最簡單的解決方案,但我不想更改安裝程序以刪除舊文件並添加新重命名的文件,因爲我們有許多不同的安裝程序來安裝該特定文件。此外,嵌入它會更好,因此Windows 7上的開發人員無需執行任何操作即可使其在機器上工作。另外知道如何添加任何類型的資源可能對其他事情有用,所以我想我會試着弄清楚如何通過一個清單資源做到這一點。很高興知道這確實很容易做到。 – 2010-07-02 16:48:11