c++ - winapi C++ HICON

标签 c++ winapi icons

我使用 minGW 和 eclipse。 我用这种方式制作了 HICON:

case WM_CREATE:
{
...
hIcon = (HICON)LoadImage(NULL, "icon.ico", IMAGE_ICON, 32, 32, LR_LOADFROMFILE);
if(hIcon) { SendMessage(hwnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon); }
else { MessageBoxW(hwnd, "ico not found", "ico not found", MB_OK | MB_ICONERROR); }
...
}

所以在这种情况下,.ico 必须与 .exe 位于同一文件夹中 如何将此 .ico 构建到 exe 中?

最佳答案

使用 .rc 文件将 .ico 文件添加到可执行文件的资源中。然后在调用 LoadImage() 时,去除 LR_LOADFROMFILE 标志并在 lpszName 参数中指定您的资源 ID 而不是文件名。例如:

MY_ICON ICON "icon.ico"

.

case WM_CREATE:
{
...
hIcon = (HICON) LoadImage(GetModuleHandle(NULL), "MY_ICON", IMAGE_ICON, 32, 32, 0);
...
}

关于c++ - winapi C++ HICON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15749682/

相关文章:

c++ - 是否可以将测试标记为在 googletest 运行中花费很长时间

c++ - 如何建立一个报告C++中哪些文件和行号的异常类?

c++ - 交叉转换以获得另一个被认为是糟糕设计的接口(interface)?

c++ - Win32 : capture handle to Display monitor

jquery - 为移动设备移除特定屏幕尺寸的 RSS 元素

c++ - 缺少默认构造函数 - 但我没有调用它?

c++ - (key, value)对结构的内存分配,并从注册表中读取

c# - 关闭文本框的文本输入?

java - 自动为sh脚本启动的Java应用程序创建桌面图标。苹果系统

vue.js - Vue.JS 中羽毛图标的使用