Windows 7中的MFC程序不会更改任务栏中的图标

时间:2014-01-18 22:24:39

标签: c++ windows visual-studio-2010 mfc taskbar

我正在为客户创建一个应用程序。它是使用Visual Studio 2010在32位MFC中编写并在64位Windows 7上运行(与不需要的其他版本的Windows兼容,它适用于在有限机器上非常封闭的系统)程序将在机器上以最小化模式自动启动靴子。

该程序从一堆串口收集数据,如果还原,则显示细节并允许用户更改或修复内容,但最小化后应显示一个“红色LED”图标以显示某些内容不对,或者一个“绿色LED”图标,显示一切正常,无需用户干预。

在我的开发机器(也是Win 7-64)上,从Visual Studio中运行程序或直接从Windows资源管理器运行程序,当我使用CWnd :: SetIcon更改图标时,它会在窗口和任务栏中更改,就像在我想要它。如果我创建程序的快捷方式并使用快捷方式启动它,则默认图标将显示在任务栏中,不会更改。很好,它从快捷方式获取图标,这是解释。

奇怪的是,在目标机器上,无论我如何启动它,包括点击使用Windows资源管理器中的文件夹(就像我在我的开发机器上所做的那样),或使用Windows注册表“运行”,它始终使用默认图标,永远不会更改任务栏。我期望当我在桌面或Startup文件夹中使用快捷方式时,因为这是我的开发机器上的行为。

那么为什么它会在一台机器上运行,直接从exe运行,而不是在另一台相同的Windows版本上运行?

更重要的是,如何让它在目标系统上运行?我还需要确保在启动/登录时自动启动解决方案。

0 个答案:

没有答案