9247|30

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

SHLoadImageFile函数 [复制链接]

我想打开png图片,上网查到要用SHLoadImageFile函数可以,但是使用SHLoadImageFile函数需要aygshell.lib,我在网上找不到aygshell.lib,却下载了AYGSHELL.DLL,可是光有AYGSHELL.DLL却不知道应该怎么用它。
希望高人指点一下怎么用AYGSHELL.DLL来使用SHLoadImageFile函数,或者哪位高人有aygshell.lib能发给我?(lijunminjay@hotmail.com)非常感谢

最新回复

那在EVC3.0+PPC2002上是否可以使用  详情 回复 发表于 2008-8-1 11:03
点赞 关注

回复
举报

83

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
你系统不支持,就不能用,windows mobile才能用。
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
使用
loadlibrary
GetProcAddress
freelibrary
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

4
 
我虽然有AYGSHELL.DLL,但是不知道接口,所以不能确定应该怎么使用AYGSHELL.DLL。只能自己试着写:
            CBitmap bitmap;
           bitmap = NULL;
           HINSTANCE hInst;
           hInst = LoadLibrary(_T("AYGSHELL.DLL"));
           typedef HDC (*ADDPROC) (CString);
           ADDPROC LoadImage = (ADDPROC)GetProcAddress(hInst,_T("SHLoadImageFile"));

           bitmap.Attach(LoadImage(_T("C\\Maps\\Icon.png")));

            BITMAP bmpInfo;

       bitmap.GetBitmap(&bmpInfo);
       CDC bitmapDC;

           CDC *pDC;
           pDC = ((CStatic*)GetDlgItem(IDC_STATIC_BK))->GetDC();
           bitmapDC.CreateCompatibleDC(pDC);

       //bitmapDC.CreateCompatibleDC(&dc);
       CBitmap* pOldBitmap = bitmapDC.SelectObject(&bitmap);
       pDC->BitBlt(20, 20, bmpInfo.bmWidth, bmpInfo.bmHeight, &bitmapDC, 0, 0, SRCCOPY);
       bitmapDC.SelectObject(pOldBitmap);
       bitmap.DeleteObject();
但是没有显示出Icon.png,希望会用AYGSHELL.DLL的高手指点一下,或者有aygshell.lib能发给我那就最好了,我只要直接调用SHLoadImageFile函数就可以了。谢谢大家!
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

5
 
那谁有aygshell.lib吗? 谢谢!!!
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

6
 
装个platform builder for wince 就什么都有了。

网上找找吧。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

7
 
虽然在ppc的帮助文档中的
SHLoadImageFile说明中指出wince中可以支持。
如下:
Requirements
Pocket PC: Windows Mobile 2003 and later.
OS Versions: Windows CE .NET 4.0 and later.
Header: Declared in Aygshell.h.
Library: Use Aygshell.lib.


但是,我从wince 5.0build出来的os中的aygshell.dll中没有找到

这个函数。

在wince5.0的帮助文档也没有找到其定义。

估计没有支持的。
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

8
 
Requirements
OS Versions: Windows CE 1.0 and later.
Header: Shellapi.h.
Link Library: Coredll.lib.
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

9
 
不好意思,弄错了。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

10
 
原文是:
Pocket PC: Windows Mobile 2003 and later.
OS Versions: Windows CE .NET 4.0 and later.
Header: Declared in Aygshell.h.
Library: Use Aygshell.lib.
我现在在VisualStudio下面(“F:\Microsoft Visual Studio 8\SmartDevices\SDK\PocketPC2003\Lib\armv4”)找到了aygshell.lib,并将它复制到我的工程目录下以后,在我的程序里添加#pragma comment (lib,"aygshell.lib")编译后,还是出现error C2065: 'SHLoadImageFile' : undeclared identifier的问题。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

11
 
#include

Aygshell.h中保证有该api的声明。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

12
 
难道我aygshell.lib用错了?不应该#pragma comment (lib,"aygshell.lib")这样用?还是除了添加#pragma comment (lib,"aygshell.lib")语句外还需要在哪里修改代码?
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

13
 
你总得include上头文件吧。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

14
 
我加上#include 后显示:Cannot open include file: 'Aygshell.h': No such file or directory
我加上#include "Aygshell.h" 后显示: fatal error C1083: Cannot open include file: 'winuserm.h': No such file or directory
然后我把'winuserm.h复制到我项目下面,并把#include 改成#include "winuserm.h"编译后则显示:
error C2061: syntax error : identifier 'SIPSTATE'
error C2061: syntax error : identifier 'IShellPropSheetExt'
唉!伤脑筋!
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

15
 
有哪位大侠以前用过SHLoadImageFile函数的,请指点一下,谢谢!!!
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

16
 
麻烦你说一下你用的什么系统?
要是ce系统就想别的办法吧。
微软不支持,你也没有办法。

好像ce6下有对png的支持,但是我还没看过呢。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

17
 
都说了,你不能用SHLoadImageFile,你为什么还要浪费时间呢.
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

18
 
sorry,我没有看懂,是不是在CE上不能用SHLoadImageFile函数?
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

19
 
是啊,都说过了ce5上不支持这个。

你用www.google.com搜一下看看老外有没有办法了。
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

20
 
非要用png?可以用其它格式的图片代替啊
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表