LoadLibrary( .exe)

场景:请教用LoadLibrary加载一个exe文件的有关问题

请问用LoadLibrary加载一个exe文件的问题
请看:
我的exe文件,文件名dllexe:
extern "C" _declspec(dllexport) int add(int a,int b)
{
return a+b;
}


int main()
{
printf("a+b=%d\n",add(2,6));
getchar();
return 0;
}

然后另外一个程序加载:
int main()
{
typedef int (*FUN)(int,int);
FUN fun;
  HMODULE hmod=LoadLibrary("dllexe.exe");
  if(NULL==hmod)
{
printf("error load\n");
return -1;
}
  fun=(FUN)GetProcAddress(hmod,"add");
  if(NULL==fun)
{
printf("error GetProcAddress\n");
return -1;
}
int sum=(*fun)(18,22);
printf("sum=%d\n",sum);
FreeLibrary(hmod);
getchar();
return 0;
}

请问:当我的dllexe文件的动态库运行时,加载程序是如何加载它的?(因为它们是两个进程)

------解决方案--------------------
LoadLibrary自己不会创建进程
如果加载的是dll,则可以运行dll的入口点,如果加载的是exe,则仅仅是建立文件映射,不执行代码
但是可以读取exe的资源,比如exe里面有个对话框资源就可以把它用于DialogBoxParam
------解决方案--------------------
LoadLibrary仅加载PE镜像到本进程空间,是windows提供的系统功能。
“进程外的组件”是com的重要部分,它是通过相关com相关服务实现的。
所以它们是两个不同层次上的概念,如果非要说有什么关系的话,那只能说,"进程外的组件"运行的时候会需要用调用LoadLibrary这个系统函数。

PS:请回答 雷锋跟雷锋塔是什么关系?