发信人: meichaol() 
整理人: leitiger(2002-11-20 11:58:55), 站内信件
 | 
 
 
【 在 leitiger 的大作中提到:】
 :MSDN带例子,但是我解决不了在PB中获得一个图标资源的句柄(HICON)的问题。谁有办法?
 :
 :或者谁有现成的DLL或COM,最好是DLL,我记得以前有一个COM,但是安装时还要注册,增加了麻烦。
 :......
 
 首先制作一个图标的DLL文件,可以使用VC,(我可以提供一个模版:))
 假设名为iconfile.dll
 
 //定义如下的全局函数
 FUNCTION ulong LoadImage(ulong hInst,ulong lpsz,ulong un1,ulong n1,ulong n2,ulong un2) LIBRARY "user32.dll" ALIAS FOR "LoadImageA"
 FUNCTION ulong LoadLibraryEx(ref string lpLibFileName,ulong hFile,ulong dwFlags) LIBRARY "kernel32.dll" ALIAS FOR "LoadLibraryExA"
 FUNCTION ulong GetLastError() LIBRARY "kernel32.dll"
 FUNCTION ulong FreeLibrary(ulong hLibModule) LIBRARY "kernel32.dll"
 
 //下面是取得图标句炳的代码
 
 //定义常量
 CONSTANT int  IMAGE_ICON    =      1
 
 ulong 	hicon		//图标句炳
 ulong	ul_error	//错误号码
 
 //图标文件
 string	strDllFile = "iconfile.dll"
 
 //图标文件句炳
 ulong m_hDll 
 m_hDll = LoadLibraryEx(strDllFile, 0, 0);
 
 //If failed
 if ( m_hDll = 0) Then
 	ul_error = GetLastError()
 	return ul_error
 End If
 
 ulong	ulIn = 204		//图标在文件中的资源ID
 
 //取得图标句炳
 hicon = LoadImage(m_hdll,ulIn, IMAGE_ICON, 0, 0, 0);
 
 if ( hicon = 0 ) Then
 	ul_error = GetLastError()
 	return ul_error
 End if
 
 //释放资源
 FreeLibrary(m_hDll)  | 
 
 
 |