我有一個文件,它與.exe
程序文件相鏈接,以便在打開時請求管理員權限。現在它是一個單獨的文件,名爲program_name.exe.manifest
,它與program_name.exe
是相同的文件夾。有什麼方法可以將清單文件嵌入到.exe
文件中,以便它可以是一個文件而不是兩個文件。將清單嵌入到exe文件中
BTW程序是用C++
我有一個文件,它與.exe
程序文件相鏈接,以便在打開時請求管理員權限。現在它是一個單獨的文件,名爲program_name.exe.manifest
,它與program_name.exe
是相同的文件夾。有什麼方法可以將清單文件嵌入到.exe
文件中,以便它可以是一個文件而不是兩個文件。將清單嵌入到exe文件中
BTW程序是用C++
創建如果您使用的是Windows CL一樣,PowerShell中,嘗試
program_name.exe –manifest program_name.exe.manifest -outputresource:program_name.exe;1
這應該做的伎倆。
是的。將清單聲明爲資源,然後構建資源對象文件並將其鏈接到您的exe文件。
在你resource.rc
文件中,定義您的清單資源,像這樣:
IDR_RT_MANIFEST1 RT_MANIFEST "program_name.exe.manifest"
在你resource.h
文件與值1
#define IDR_RT_MANIFEST1 1
建立與windres資源文件中聲明它:windres resource.rc -o resource.o
構建項目時鏈接資源:-l resource.o
.............................................. ...........................
如果您使用的是Visual Studio,則無需顯式構建它,但也有應預先設置2種選擇:
1)Project > Project_Name Properties > Configuration Properties > Linker > Manifest File -> Generate Manifest
設置爲No
2)Project > Project_Name Properties > Configuration Properties > Manifest Tool > Embed Manifest
設置爲Yes
還添加manif est文件作爲現有項目添加到項目中。
** C:\ WINDOWS \ system32> main.exe -manifest main.exe.manifest -outputsource:main.exe; 1 ** 'main.exe'不被識別爲內部或外部命令, 可操作程序或批處理文件。 – Mat
您可以嘗試從其中包含.exe的文件夾運行命令,也可以按照此線程更改環境變量以使程序可以從任何文件夾運行http://stackoverflow.com/a/8939956/8021378 –