No. LoadImage cant load anything that's terribly modern. You can load bmp, .ico, .cur and that's about it. Since over 10 years now Windows has included the GDI+ subsystem, which is more or less, an object-oriented, improved version of GDI. GDI+ can load these other images without a problem - loading anything that Windows will display natively - including png, jpg, emf, wmf and a bunch of others.
Doing so is rather trivial - See below for an example of use. Make sure you link against the Gdiplus library. Also note, you just need to startup/shutdown Gdi+ once per program, which makes my example essentially a 1 line program that uses gdi+.
#include <gdiplus.h>
using namespace Gdiplus;
HBITMAP mLoadImageFile(wchar_t *filename)
{
HBITMAP result = NULL;
Bitmap bitmap(filename, false);
bitmap.GetHBITMAP(0, &result);
return result;
}
int main()
{
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
HBITMAP mBkgImg = mLoadImage(L"forrest.jpg");
GdiplusShutdown(gdiplusToken);
}