본문 바로가기
프로그래밍/Windows

[Windows] 리소스 드랍 (Win32API)

by Hwan,. 2015. 8. 31.
728x90
반응형

1. 코드

//리소스 변수 선언
HMODULE hDll;
HRSRC hResource;
HGLOBAL hData;
DWORD filesize, numWritten;
LPVOID pResource;
HANDLE hFile;
TCHAR Adr[] = L"C:\\File.exe"; // 파일 경로

// 아래는 코드 적용 부분, 필요한 부분에 적절히 사용
// 리소스 찾기, 에러 시 NULL
hResource = FindResource(g_Inst, MAKEINTRESOURCE(IDR_EXE1), L"exe");
// 리소스 로드, 에러 시 NULL
hData = LoadResource(g_Inst, hResource);
// 락, 에러 시 NULL
pResource = LockResource(hData);

// 리소스 사이즈 구하기, 에러 시 NULL
filesize = SizeofResource(hDll, hResource);

// 리소스를 파일로 작성
hFile = CreateFile(Adr, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL);
if(hFile != INVALID_HANDLE_VALUE)
{
	WriteFile(hFile, pResource, filesize, &numWritten, NULL);
}
CloseHandle(hFile);
 

 

728x90
반응형

댓글