平台:Windows 7
IDE:VS2013
语言:C ++
Windows类:WinAPI
我有一个自定义图片:Icon.png。
我还有一个来自msdn示例代码的Windows类来创建一个基本的Win32窗口。 它有两个我的windows类结构的hIcon和hIconSm,我不确定它们对应的是什么,但它们都可能与图标有关。
我需要:将任务栏的图标更改为Icon.png,对exe左上角的图标执行相同操作,并更改按下alt + tab时显示的图标。
这意味着我需要知道我改变了哪些变量,使用了哪些函数,以及它的参数代表什么。此外,如果需要在VS中单击或创建其他文件,我还需要有关如何执行此操作的说明。
非常感谢任何帮助。
PS我尝试了其他人在这里发布的东西,但它要么不起作用,要么说明不清楚,因此我要求具体细节。
答案 0 :(得分:0)
所以,我找到了自己的答案。
A)我可以干预资源加载(我做了,并且在将其链接到LoadIcon函数时感到沮丧和失败。
B)第二种方式:使用LoadImage并将返回值转换为HICON(显然hacky,但它适用于我试图改变的所有图标!!!!!所以,问题解决了哈哈。 下面是我在项目中使用的伪代码。
windowclass.hIcon = (HICON) LoadImage( // returns a HANDLE so we have to cast to HICON
NULL, // hInstance must be NULL when loading from a file
"iconfile.ico", // the icon file name
IMAGE_ICON, // specifies that the file is an icon
0, // width of the image (we'll specify default later on)
0, // height of the image
LR_LOADFROMFILE| // we want to load a file (as opposed to a resource)
LR_DEFAULTSIZE| // default metrics based on the type (IMAGE_ICON, 32x32)
LR_SHARED // let the system release the handle when it's no longer used
);
因此,如果您想要上面的其他自定义,我建议您使用MSDN定义LoadImage并根据它自定义您的参数。