把字体直接装入程序中作为资源载入程序

下面是一段把资源导出为文件的代码.先把要打包的文件添加到VC项目中,类型自定(比如”RES_DATA”),ID自定(比如ID_RES_DATA),那么如果要把这个资源再回复为文件就这么调用: Res2File( MAKEINTRESOURCE(ID_RES_DATA), “RES_DATA”, “C:\ResData.dat” )

BOOL Res2File( LPCTSTR lpName, LPCTSTR lpType, LPCTSTR filename ) { HRSRC hRes = ::FindResource( NULL, lpName, lpType ); HGLOBAL gl =::LoadResource( NULL, hRes ); LPVOID lp = ::LockResource( gl ); HANDLE fp = ::CreateFile( filename, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL ); if( fp == INVALID_HANDLE_VALUE ) return FALSE;

DWORD a; if( !::WriteFile( fp, lp, SizeofResource( NULL, hRes ), &a;, NULL ) ) return FALSE;

CloseHandle( fp ); FreeResource( gl ); return TRUE; } 你可以在运行的时候恢复字体文件,并安装它(只要拷贝到系统目录下的Font文件夹)。

支持原创技术分享,据说打赏我的人,都找到了女朋友!