动态更改程序图标
Changing program icon dynamically
在C++中,有没有让用户选择应用程序的图标?例如,Winamp允许您从其首选项中的图标列表中选择要使用的图标。它是如何完成的?
这是您在资源管理器中看到的图标。这是可执行文件中的资源。你可以改变这一点,但我不会也建议你。如果可执行文件被修改,病毒扫描程序可能会感到紧张,在Windows Vista中,你甚至不被允许在Program Files文件夹中写入。
但是显示在任务栏或系统任务栏上的图标可以更改。这实际上是应用程序窗口的图标,可以通过发送WM_SETICON消息进行设置。
还有一些捷径。它们也可以更改,并且可以在快捷方式中指定应使用的图标。
我发现了一个关于更改图标的讨论,其中包含前两个选项的信息。
对于Visual Studio 2010,在基于MFC对话框的应用程序中
A在资源视图中,右键单击图标文件夹并添加图标。给它一个类似IDI_MYICON的ID。让它保持原样,或者画一些好看的东西。
B转到OnInitDialog。添加以下两行代码:
HICON hMyIcon = LoadIcon( AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_MYICON) );
SetIcon( hMyIcon, FALSE ); // FALSE == use as small icon
您可以在帮助中阅读有关这些函数的信息,以了解正在发生的情况
这将图标设置为系统菜单(左上方)和任务栏中的图标。然而,这并不是自动反映在所有情况下。例如,对于systray图标,您需要在对Shell_NotifyIcon()的调用中再次显式指定该图标。
相关文章:
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- 自动格式化程序> >更改为>>
- 如何为 C++ Visual Studio 2019 指定应用程序图标?
- 如何在不破坏现有应用程序的情况下更改 API 中 stl 容器的数据类型?
- 什么是"undetectable means",它们如何更改 C/C++ 程序的对象?
- 为什么从文件获取图标时应用程序有时会崩溃?
- 我需要如何更改我的程序以使用打开/关闭原则?
- 更改 C++ 应用程序的应用程序窗口图标
- 字符串更改程序输出随机字符
- 为什么i和j的值只有一个更改程序而有所不同
- 如何在Qt应用程序中使用样式表更改QPush按钮图标大小
- 阻止 MFC 应用程序将光标更改回默认图标
- 如何在任务管理器中更改应用程序图标
- 当我们在另一个程序中调用该程序时,更改程序中常量参数的值
- 更改程序 C++ 中的随机种子
- 如何以编程方式更改程序图标
- Win32:更改程序图标
- 在每次启动时,都可以使用md5散列更改程序
- 动态更改程序图标
- VarBstrFromI4更改程序中某些其他BSTR的值