栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

MFC中使用自定义资源 隐藏文件 把文件集成到软件中

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MFC中使用自定义资源 隐藏文件 把文件集成到软件中

目标:把证书文件隐藏封装到软件中,软件初始化时复制到C:UsersFT.android下,退出时删除。

实现:如下

1.先加入资源

 

 

2.代码

 

//把资源文件写入到指定路径
//id 资源id 比如IDR_ADBKEY1
//type 导入资源时的命名,比如adbkey
//desPath 目标路径,包含文件名。 C:UsersFT.androidadbkey
int writeBin(int id,CString type,CString desPath)
{
	HRSRC hRes = FindResource(NULL, MAKEINTRESOURCE(id), type);
	if (hRes == NULL) {
		printf(__FUNCTION__"Error:%d", GetLastError());
		return -2;
	}
	DWORD len = SizeofResource(NULL, hRes);
	HGLOBAL hg = LoadResource(NULL, hRes);//载入资源
	if (hg == NULL) {
		printf(__FUNCTION__"Error:%d", GetLastError());
		return -3;
	}
	LPVOID lp = (LPSTR)LockResource(hg);//锁定资源
	if (lp == NULL) {
		printf(__FUNCTION__"Error:%d", GetLastError());
		return -4;
	}

	//TCHAR path[512];
	//::GetTempPathW(512, path);
	//CString temp;
	//temp.Format(_T("%s//a.bin"), path);   //写入到系统临时文件夹
	//Upgrade_Path = temp;
	HANDLE hFile1 = CreateFile(desPath, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
	DWORD dwWrite = 0;
	if (WriteFile(hFile1, lp, len, &dwWrite, NULL)==FALSE)
	{
		printf(__FUNCTION__"Error:%d", GetLastError());
	}

	CloseHandle(hFile1);
	FreeResource(hg);
	return 0;
}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/968806.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号