0

我使用 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 中?

4

2 回答 2

4

使用 .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);
...
}
于 2013-04-01T18:55:10.113 回答
2

您可以使用资源文件。

有关更多信息,请参见此处:http: //msdn.microsoft.com/en-us/library/zabda143 (v=vs.71).aspx

于 2013-04-01T18:54:49.810 回答