C++ 如何更改:任务栏的图标,在左上角,按下Alt Tab时的图标,my.exe

C++ 如何更改:任务栏的图标,在左上角,按下Alt Tab时的图标,my.exe,c++,winapi,visual-studio-2013,windows-7,C++,Winapi,Visual Studio 2013,Windows 7,平台:Windows7 IDE:VS2013 语言:C++ Windows类:WinAPI 我有一个自定义图像:Icon.png 我还有一个来自msdn示例代码的windows类,用于创建基本的Win32窗口。 我的windows类结构中有两个东西hIcon和hIconSm,我不确定它们对应什么,但它们可能都与图标有关 我需要:将任务栏的图标更改为icon.png,对exe左上角的图标执行相同的操作,并更改按下alt+tab时显示的图标 这意味着我需要知道我改变了哪些变量,使用了哪些函数,它的参

平台:Windows7

IDE:VS2013

语言:C++

Windows类:WinAPI

我有一个自定义图像:Icon.png

我还有一个来自msdn示例代码的windows类,用于创建基本的Win32窗口。 我的windows类结构中有两个东西hIcon和hIconSm,我不确定它们对应什么,但它们可能都与图标有关

我需要:将任务栏的图标更改为icon.png,对exe左上角的图标执行相同的操作,并更改按下alt+tab时显示的图标

这意味着我需要知道我改变了哪些变量,使用了哪些函数,它的参数代表什么。此外,如果需要在VS中单击或创建其他文件,我还需要有关如何操作的说明

非常感谢您的帮助


PS我尝试了其他人在这里发布的内容,但要么不起作用,要么说明不清楚,因此我要求提供详细信息。

因此,我找到了自己的答案

一个我可以干预资源加载的问题,我确实这样做了,但在将它链接到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
   );

因此,如果您想对上述内容进行其他自定义,我建议您访问LoadImage的MSDN定义,并根据它自定义您的参数。

为什么您认为这是可能的?你要在哪里找到任务切换程序的钩子?你有证据证明这是可以做到的吗?事实上我被你的要求弄糊涂了。是否要在程序运行时更改窗口图标以响应任务切换?若然,原因为何?如果没有,你尝试了什么?它是如何不起作用的?大卫。嗯,不,我没有证据表明可以找到任务切换程序挂钩。Andlabs,我想在创建窗口时更改图标,使其不是自动加载的默认microsoft图标。为什么?为了一场比赛。我试了什么?我试图创建一个.rc文件,并以某种方式在其中引用图标,我还尝试将LoadIcon与png一起使用。您能为这两种尝试显示您的代码吗?也许可以编辑你的问题,这样听起来就不会像你想做的那样,因为大卫就是这么想的。只要它确实返回了一个图标,它就不是黑客。LoadIcon没有为我加载它,老实说,我很高兴它与loadImage一起工作,无法进一步调查。上面的网站是我在这里发布之前用来参考的。