我写了个程序,
采用MFC静态连接,
已经修改了程序的默认图标,编译成。EXE文件后
在WIN98/ME/2000下,在硬盘上显示的都是我自己的图标 没问题
可是在WIN XP下出问题了,
不管怎么搞,都显示是MFC的一个通用图标,
谁知道如何解决?
采用MFC静态连接,
已经修改了程序的默认图标,编译成。EXE文件后
在WIN98/ME/2000下,在硬盘上显示的都是我自己的图标 没问题
可是在WIN XP下出问题了,
不管怎么搞,都显示是MFC的一个通用图标,
谁知道如何解决?
调试欢乐多
默认的那个MFC图标被我删除掉了
否则不可能在WIN98/2000正常
XP不正常
问题是XP是怎么显示出我的程序里根本不存在的MFC图标的?
只要把工程目录下res文件夹下的“你的工程名.ico”这个图标文件替换成你想要的图标文件这个早已经被我改掉了,
很可能是少改了 16*16 的那个
这个我没指定,
我是个对话框程序 OninitDialog( )
用的是CXXAPP* app->LoadIcon(ID_MYMAINICON)这样的方式装入的也就水说,WINXP中显示出来的那个ICON,事实上在我的工程文件中根本不存在,
在WIN2000或WIN9X 都是在磁盘上显示(ID_MYMAINICON)
就是在WINXP中,出现该死的MFC通用图标而不是我已经修改的图标,
而且那个MFC图标早就被我彻底修改或者删除掉了,整个工程中根本不存在
奇怪啊
运行时完全没问题的,而且这个问题在WIN98/2000下没有,只在XP下,磁盘上的文件变成了MFC通用图标
DEBUG和RELEASE模式都是一样的
环境是VS2003
我怀疑MS的VS2003编译器是不是在PEF文件头中插入了什么指示性代码
WinXP的图标是真彩色的(16.8M-32位)带Alpha通道的
楼主不妨用一个别的工程来做白老鼠试试。
问题是我的RES下工程名。ICO那个文件已经被我从工程中删除了,
不知道是不是默认的关系,
例如我的工程叫VLINK,
那么RES应该有个对应的VLINK。ICO
事实上那个文件一开始就被我从工程里给DELETE掉了,
不知道是不是这个原因,谢谢
不知道是不是这个原因-----------------------------------------------------------------
哇,你太粗鲁了^_^试试给工程找个“后妈”来,也放在res目录下,改成原配夫人的名字,再在工程中把它的ID啊什么的参数也改成原先的一样,如果不知道原先是什么样的,就参照刚才那个白老鼠的参数设一下试试。
在WIN98/ME/2000环境下,使用VC开发
修改默认图标后的图案后,在98/ME/2000下的磁盘上确实能显示该图标代表你的程序
但是,
千万注意,程序自动生成的主图标,无论如何修改图案,在XP环境下都将被显示成MFC通用图标,
为什么我还没搞明白,但是事实就是这样
解决的办法是
将系统自动生成的图标直接从硬盘上删除掉,用其他的ICON制作软件制作一个你希望的ICON,
采用相同的名称覆盖,如此才能在XP下硬盘上显示你自己的ICON,否则将显示事实上根本不存在的MFC通用图标,我也搞不清楚XP从哪里弄来的这个根本不存在的通用图标
但是很奇怪,2000/98下没有任何问题,嘿嘿
顶上去,过几天结贴,
谢谢各位的帮助,希望大家不要反同样的错误,以为2000/98下正常,XP下就一样,
事实是XP是混蛋。