SHLoadImageFile 加载本地ico 图片 失败

nywl   2009-3-17 10:00 楼主
我 想 从文件 加载 ico 图片  用了SHLoadImageFile 函数 GetlastErr 是6  总是 加载不上
另外我也用了 LoadImage  报 1814 的错

   现在不知道 怎么 弄了  请各位大侠 指点一下

  还有就是  我 给的 文件路径 绝对没有错

回复评论 (13)

你是如何加载法,请出示代码
点赞  2009-3-17 10:14
          HICO hIcon = (HICON)SHLoadImageFile(_T("live.ico"));
          if (NULL == hIcon)
        {
                scAppLog.DoLog(3,"err %d",GetLastError());
        }
点赞  2009-3-17 10:22
          HICON hIcon = (HICON)SHLoadImageFile(_T("live.ico"));
          if (NULL == hIcon)
{
      scAppLog.DoLog(3,"err %d",GetLastError());
}

上面写错了
点赞  2009-3-17 10:24
贴个完整点的把  

                wchar_t pFilePath[ MAX_PATH ];
                memset(pFilePath,0,MAX_PATH);
                GetModuleFileName(NULL,        pFilePath,MAX_PATH);
                wchar_t*        s = wcsrchr(pFilePath, '\\');
                if (s)
                {
                        *s = 0;
                }
                _tcscat(pFilePath,_T("\\"));
_tcscat(pFilePath,_T("live.ico"));
hIcon = (HICON)SHLoadImageFile(pFilePath);

                                if (NULL == hIcon)
                                {
                                        scAppLog.DoLog(3,"err %d",GetLastError());
                                }

err 打印出来为6
点赞  2009-3-17 10:30
LZ你打印一下路径,并保证ICO文件一定存在
点赞  2009-3-17 10:34
路径没问题  我把ico文件 换成 bmp文件能 读出来  
点赞  2009-3-17 10:40
可能和ICO文件的属性有关吧,LZ的ICO文件是什么位色的?
点赞  2009-3-17 11:14
SHLoadImageFile支持ICON呢,不应该有问题呀
点赞  2009-3-17 11:16
48X48 的 96dpi
32位色深
点赞  2009-3-17 11:17
err =6  句柄无效  我 直接 用HBITMAP handle = SHLoadImageFile(pFilePath);
结果也是一样的  急死人了
点赞  2009-3-17 11:42
MARK
点赞  2009-3-17 13:04
引用: 引用 9 楼 cnp11 的回复:
48X48 的 96dpi
32位色深


256色的试试,太高好像是不行的。
点赞  2009-3-17 14:50
换 图片格式了~    结贴
点赞  2009-3-19 10:12
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复