manifest可以编入到资源里,可是我Debug和release出来的东西不一样啊,debug有效果,Release没有,怎么才能让Release也有呢?

时间:2021-08-19 23:05:31
manifest可以编入到资源里,可是我Debug和release出来的东西不一样啊,debug有效果,Release没有,怎么才能让Release也有呢?

6 个解决方案

#1


manifest为什么要放到资源里面??
只要你的系统是xp以上的版本的话,应该都有效果的

#2


怎么会有这种情况呢,你是怎么加manifest的?

#3


很可能是你的方法不对,你是不是在Debug目录下放置了一个叫yourname.exe.manifest的文件,这样的话程序当然会有XP效果,因为manifest跟yourname.exe在同目录下,而你的release目录下并没有yourname.exe.mainfest这个文件所以没效果。

如果想让exe脱离manifest而有效果我的方法是这样的:
关闭Vs.net用记事本打开resource.h和yourname.rc这两个文件
在resource中加入下面一行:
#define IDR_MANIFEST                    1
在yourname.rc中加入下面代码:
/////////////////////////////////////////////////////////////////////////////
//
// 24
//

IDR_MANIFEST            24                      "res\\yourname.manifest"

回到VS.net生成运行。此时生成的exe可以脱离manifest 而拥有xp效果了,不论是Debug还是Release
另:请将上面的yourname改为你的项目名称。

#4


如果不用记事本当然也可以用VS.Net直接改,不过要选择打开方式: 源代码。

#5


还有"res\\yourname.manifest"是Vs.net每个项目都有的,如果你的项目没有这个文件,你也可以将它改成你做的manifest文件的相对路径。

#6


哦,我.h里没有加这个,谢谢。怎么给分啊?

#1


manifest为什么要放到资源里面??
只要你的系统是xp以上的版本的话,应该都有效果的

#2


怎么会有这种情况呢,你是怎么加manifest的?

#3


很可能是你的方法不对,你是不是在Debug目录下放置了一个叫yourname.exe.manifest的文件,这样的话程序当然会有XP效果,因为manifest跟yourname.exe在同目录下,而你的release目录下并没有yourname.exe.mainfest这个文件所以没效果。

如果想让exe脱离manifest而有效果我的方法是这样的:
关闭Vs.net用记事本打开resource.h和yourname.rc这两个文件
在resource中加入下面一行:
#define IDR_MANIFEST                    1
在yourname.rc中加入下面代码:
/////////////////////////////////////////////////////////////////////////////
//
// 24
//

IDR_MANIFEST            24                      "res\\yourname.manifest"

回到VS.net生成运行。此时生成的exe可以脱离manifest 而拥有xp效果了,不论是Debug还是Release
另:请将上面的yourname改为你的项目名称。

#4


如果不用记事本当然也可以用VS.Net直接改,不过要选择打开方式: 源代码。

#5


还有"res\\yourname.manifest"是Vs.net每个项目都有的,如果你的项目没有这个文件,你也可以将它改成你做的manifest文件的相对路径。

#6


哦,我.h里没有加这个,谢谢。怎么给分啊?