Btw. This is how I solved it:
resources.rc -
Code:
1 BIN DISCARDABLE "path-to-.dll"
extract.c -
Code:
void Extract(WORD wResId , char szFilePath[])
{
HRSRC hrsrc;
HGLOBAL hLoaded;
LPVOID lpLock;
DWORD dwSize;
HANDLE hFile;
DWORD dwByteWritten;
hrsrc = FindResource(NULL, MAKEINTRESOURCE(wResId) ,"BIN");
if(hrsrc == NULL)
{
//printf("Error Finding resource\n");
}
hLoaded = LoadResource(NULL, hrsrc);
if(hLoaded == NULL)
{
//printf("Error Loading Resource\n");
}
lpLock = LockResource(hLoaded);
if(lpLock == NULL)
{
//printf("Error Locking Resource\n");
}
dwSize = SizeofResource(NULL, hrsrc);
hFile = CreateFile(szFilePath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_HIDDEN, NULL);
if(!WriteFile(hFile, lpLock , dwSize , &dwByteWritten , NULL))
{
//printf("Error Writing to file\n");
}
CloseHandle(hFile);
FreeResource(hLoaded);
}