在DLL中创办了一个WinSDK的窗体,在Win32程序中调用可以显示出来,在MFC下却不能显示?什么原因呢

在DLL中创建了一个WinSDK的窗体,在Win32程序中调用可以显示出来,在MFC下却不能显示?什么原因呢?

在DLL中创建了一个WinSDK的窗体,在Win32程序中调用可以显示出来,在MFC下却不能显示?什么原因呢?

要显示窗体实际就是建立一个窗体应用程序,然后把_tWinMain 改成 MyCreateWindow。 再用 
DLL_API void APIENTRY ShowCalForm(HINSTANCE hinst) 导出。

创建窗体用的是通过 g_hIntance= (HINSTANCE)hModule; 获得。
我猜想可能是跟HINSTANCE 有关。 但是HINSTANCE跟调用着没有关系,都是用的g_hIntance。
只是不知道为什么在WIN32 程序中调用DLL中的ShowCalForm可以显示出窗体来, 而在MFC程序中调用却显示不出来呢(创建窗体失败)?  
谢谢



// DllSdkDlg.cpp : 定义 DLL 应用程序的导出函数。
//

#include "stdafx.h"
#include "DllSdkDlg.h"



// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "stdafx.h"
//#include "winform.h"
#include <process.h>
#include "DllSdkDlg.h"


#define MAX_LOADSTRING 100  
  
// 全局变量:  
HINSTANCE g_hIntance;                                // 当前实例  
//TCHAR szTitle[MAX_LOADSTRING];                  // 标题栏文本  
//TCHAR szWindowClass[MAX_LOADSTRING];            // 主窗口类名  
  
// 此代码模块中包含的函数的前向声明:  
ATOM                MyRegisterClass(HINSTANCE hInstance);  
BOOL                InitInstance(HINSTANCE, int);  
LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM);  
INT_PTR CALLBACK    About(HWND, UINT, WPARAM, LPARAM);  
int APIENTRY MyCreateWindow(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow);

int flag=0;



 
void c(void *)
{
flag=1;
MyCreateWindow(g_hIntance,NULL,NULL,1);
return;
}