How to write vc resource to a file in vc6.0(在VC6.0中如何把资源文件写成文件)- Software Bind CockHorse Tech(软件绑马技术)- C++ SourceCode

How to write vc resource to a file in vc6.0(在VC6.0中如何把资源文件写成文件)- Software Bind CockHorse Tech(软件绑马技术)- C++ SourceCode

1、Import a file named "prjUDPChatTest.exe" in VC6.0 ,The type is "Exe" and the id of the resource is "IDR_prjUDPChatTest".

2、Code

 

void CPrjSoftwareBindCockHorseTestDlg::OnbtnReleaseFile() 

{

	// TODO: Add your control notification handler code here

	//TODO: Write Resource to File;

	

	BOOL bSuccesful;



	bSuccesful = WriteResourceFile("c://prjUDPChatTest.exe",IDR_prjUDPChatTest,"Exe");

	

	if(FALSE == bSuccesful)

	{

		MessageBox("WriteResourceFile Error");

		return;

	}



	return;

	

}





BOOL WriteResourceFile(LPCTSTR lpFileFullPathName,int iResourceID,LPCTSTR lpResourceType)

{

	

	HRSRC hRsrc;

	

	hRsrc = FindResource(NULL,MAKEINTRESOURCE(IDR_prjUDPChatTest),"Exe");

	

	if(NULL == hRsrc)

	{

		AfxMessageBox("WriteResourceFile Function /r/n FindResource Error");

		return FALSE;

	}

	

	HGLOBAL hGlobal;



	hGlobal = LoadResource(NULL,hRsrc);

	

	if(NULL == hGlobal)

	{

		AfxMessageBox("WriteResourceFile Function /r/n LoadResource Error");

		return FALSE;

	}

	

	LPVOID lpVoid;



	lpVoid = LockResource(hGlobal);

	

	if(NULL == lpVoid)

	{

		AfxMessageBox("WriteResourceFile Function /r/n LockResource Error");

		return FALSE;

	}



	HANDLE hFile;



	hFile = CreateFile(lpFileFullPathName,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,

						FILE_ATTRIBUTE_NORMAL,NULL);



	if(INVALID_HANDLE_VALUE == hFile)

	{

		AfxMessageBox("WriteResourceFile Function /r/n CreateFile Error");

		return FALSE;

	}

	

	BOOL bSuccesful;

	

	DWORD dw;



	bSuccesful = WriteFile(hFile,lpVoid,SizeofResource(NULL,hRsrc),&dw,NULL);



	if(FALSE == bSuccesful)

	{

		AfxMessageBox("WriteResourceFile Function /r/n WriteFile Error");

		return FALSE;

	}

	

	CloseHandle(hFile);

	FreeResource(hRsrc);



	return TRUE;

	

}

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值