相关疑难解决方法(0)

如何显式设置任务栏图标?

在Visual Studio中,我生成了一个普通的旧Win32应用程序,并剥离了所有资源并生成了代码,因此我的应用程序包括以下内容:

#include "stdafx.h"
#include "IcoTest.h"

int APIENTRY _tWinMain(HINSTANCE hInstance,
                 HINSTANCE hPrevInstance,
                 LPTSTR    lpCmdLine,
                 int       nCmdShow)
{
    ::MessageBox( NULL, L"Testing", L"Test", MB_OK );
}
Run Code Online (Sandbox Code Playgroud)

当我运行该应用程序时,这是我看到的:

屏幕截图

所以问题是我可以在任务栏中更改该默认应用程序图标吗?如果是这样,需要添加什么代码来做到这一点?

编辑:

这是我所做的,这类工作,但并不理想。新图标显示正常,但是Vista中的任务栏预览窗口不起作用,系统菜单也不起作用,因此我暂时不讨论它。

HWND CreateDummyWindow(HINSTANCE hInstance, int iconId, LPCTSTR taskbarTitle)
{
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style          = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc    = DefWindowProc;
wcex.cbClsExtra     = 0;
wcex.cbWndExtra     = 0;
wcex.hInstance      = hInstance;
wcex.hIcon          = LoadIcon(hInstance, MAKEINTRESOURCE(iconId));
wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground  = 0;
wcex.lpszMenuName   = 0;
wcex.lpszClassName  = taskbarTitle,
wcex.hIconSm        = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(iconId));
ATOM …
Run Code Online (Sandbox Code Playgroud)

c++ winapi taskbar

5
推荐指数
1
解决办法
8567
查看次数

是否有用于向任务栏图标添加徽章的Windows API?

Spotify最近添加了一项功能,其中任务栏图标将具有红色iOS样式徽章,其中包含收件箱中的歌曲数量.

徽章本身绝对是图标的一部分,但我想知道这个号码是否可以添加官方API.

如果没有,他们怎么可能这样做?我的收件箱中从未有过多首歌曲,所以也许它只是不显示1-9然后是10+或者其他东西,或者它们是否可以动态创建图像并将其设置为图标?

我不知道你可以在应用程序运行时更改图标.

windows taskbar spotify

4
推荐指数
1
解决办法
1562
查看次数

以编程方式创建 32 位彩色图标

我想使用 C++ 和 Win API 以编程方式创建 32 位彩色图标。为此,我使用了在此处找到的以下代码。

HICON CreateSolidColorIcon(COLORREF iconColor, int width, int height)
{
    // Obtain a handle to the screen device context.
    HDC hdcScreen = GetDC(NULL);

    // Create a memory device context, which we will draw into.
    HDC hdcMem = CreateCompatibleDC(hdcScreen);

    // Create the bitmap, and select it into the device context for drawing.
    HBITMAP hbmp = CreateCompatibleBitmap(hdcScreen, width, height);
    HBITMAP hbmpOld = (HBITMAP)SelectObject(hdcMem, hbmp);

    // Draw your icon.
    // 
    // For this simple example, …
Run Code Online (Sandbox Code Playgroud)

c++ winapi

3
推荐指数
1
解决办法
2521
查看次数

标签 统计

c++ ×2

taskbar ×2

winapi ×2

spotify ×1

windows ×1