static  TCHAR   szAppNameWelcome[] = TEXT ("Welcome") ;      //欢迎界面窗口类名
static  TCHAR   szAppNameMain[]    = TEXT ("CodeBuilder") ;  //多文档主框架类名
static  TCHAR   szAppNameText[]    = TEXT ("NoteBook") ;     //文本文档类名
static  TCHAR   szMainMenu[]       = TEXT ("MainMenu") ;     //定义主框架菜单名
static  TCHAR   szTextMenu[]       = TEXT ("TextMenu") ;     //定义文本编辑器菜单名static  char    szFindText [MAX_STRING_LEN] ;
static  char    szReplText [MAX_STRING_LEN] ;static  HINSTANCE hInst ;
HMENU   hMenuMain, hMenuText ;
HMENU   hMenuMainWindow, hMenuTextWindow ;
static  HWND  hWndMain ;
static  HWND  hDlgModeless ;//公用对话框句柄
static  HANDLE hBitmap ;
static  OPENFILENAME ofn;//对于不同的对话框的名称的定义,下面的程序都将遵守"NOTEBOOLDLG?"的原则!
/*******************************************************************************/
/*                         程序中的函数预先声明区                              */
/*******************************************************************************/LRESULT CALLBACK WelcomeWndProc (HWND, UINT, WPARAM, LPARAM) ;
LRESULT CALLBACK MainWndProc    (HWND, UINT, WPARAM, LPARAM) ; 
LRESULT CALLBACK TextWndProc    (HWND, UINT, WPARAM, LPARAM) ;
BOOL    CALLBACK AboutDlgProc   (HWND, UINT, WPARAM, LPARAM) ;
BOOL    CanPass                 (HWND, HWND) ;
BOOL    CALLBACK CloseEnumProc  (HWND, LPARAM) ;//通用函数的函数声明
void DoCaption     (HWND, char *szTitleName) ;
void OkMessage     (HWND, char *szMessage, char *szTitleName) ;
short AskAboutSave (HWND, char *szTitleName) ;//打开和保存文件的函数声明
void PopFileInitialize    (HWND) ;
static long PopFileLength (FILE) ;
BOOL PopFileRead    (HWND, PSTR) ;
BOOL PopFileWrite   (HWND, PSTR) ;
BOOL PopFileOpenDlg (HWND, PSTR, PSTR) ;
BOOL PopFileSaveDlg (HWND, PSTR, PSTR) ; //查找和替换的函数声明
//HWND PopFindFindDlg     (HWND) ;
//HWND PopFindReplaceDlg  (HWND) ;
//BOOL PopFindfindText    (HWND, int *, LPFINDREPLACE) ;
//BOOL PopFindReplaceText (HWND, int *, LPFINDREPLACE) ;
//BOOL PopFindNextText    (HWND, int *) ;
//BOOL PopFindValidFind   (void) ;
/*******************************************************************************/
/*                            主控制台初始化区                                 */
/*******************************************************************************/int WINAPI WinMain (HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR     nCmdLine,
    int       nShowCmd)
{
 MSG msg ;
 hInst = hInstance ;
 HWND hWndWelcome, hWndClient ;
 WNDCLASSEX WndclassWelcome, Wndclass ; 
 
 WndclassWelcome.cbSize        = sizeof (WNDCLASSEX) ;
 WndclassWelcome.style         = CS_NOCLOSE ;   
 WndclassWelcome.lpfnWndProc   = (WNDPROC) WelcomeWndProc ;
 WndclassWelcome.cbClsExtra    = 0 ; 
 WndclassWelcome.cbWndExtra    = 0 ;
 WndclassWelcome.hInstance     = hInstance ;
 WndclassWelcome.hIcon         = LoadIcon (hInstance,MAKEINTRESOURCE (IDI_ICON1)) ;
 WndclassWelcome.hCursor       = LoadCursor (NULL,IDC_ARROW) ;
 WndclassWelcome.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
 WndclassWelcome.lpszMenuName  = NULL ;
 WndclassWelcome.lpszClassName = szAppNameWelcome ;
 WndclassWelcome.hIconSm       = LoadIcon (hInstance,MAKEINTRESOURCE (IDI_ICON1)) ;
 
 if (!RegisterClassEx (&WndclassWelcome))   return FALSE ; Wndclass.cbSize        = sizeof (WNDCLASSEX) ;
 Wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
 Wndclass.lpfnWndProc   = (WNDPROC) MainWndProc ;
 Wndclass.cbClsExtra    = 0 ;
 Wndclass.cbWndExtra    = 0 ;
 Wndclass.hInstance     = hInstance ;
 Wndclass.hIcon         = LoadIcon (hInstance, MAKEINTRESOURCE (IDI_ICON1)) ;
 Wndclass.hCursor       = LoadCursor (NULL,IDC_ARROW) ;
 Wndclass.hbrBackground = (HBRUSH) GetStockObject (COLOR_APPWORKSPACE + 1) ;
 Wndclass.lpszMenuName  = NULL ;
 Wndclass.lpszClassName = szAppNameMain ;
 Wndclass.hIconSm       = LoadIcon (hInstance,MAKEINTRESOURCE (IDI_ICON1)) ; if (!RegisterClassEx (&Wndclass))   
 {
  MessageBox (NULL, TEXT ("This program requires Windows NT!"),szAppNameMain, MB_ICONERROR) ;
  return 0 ;
 } Wndclass.cbSize        = sizeof (WNDCLASSEX) ;
 Wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
 Wndclass.lpfnWndProc   = (WNDPROC) TextWndProc ;
 Wndclass.cbClsExtra    = 0 ;
 Wndclass.cbWndExtra    = sizeof (HANDLE) ;
 Wndclass.hInstance     = hInstance ;
 Wndclass.hIcon         = LoadIcon (hInstance,MAKEINTRESOURCE (IDI_ICON1)) ;
 Wndclass.hCursor       = LoadCursor (NULL,IDC_ARROW) ;
 Wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
 Wndclass.lpszMenuName  = NULL ;
 Wndclass.lpszClassName = szAppNameText ;
 Wndclass.hIconSm       = LoadIcon (hInstance,MAKEINTRESOURCE (IDI_ICON1)) ; RegisterClassEx (&Wndclass);
 
 hMenuMain = LoadMenu (hInstance, szMainMenu) ;
 hMenuText = LoadMenu (hInstance, szTextMenu) ;
 hMenuMainWindow = GetSubMenu (hMenuMain, MAIN_MENU_POS) ;
 hMenuTextWindow = GetSubMenu (hMenuText, TEXT_MENU_POS) ;
我的程序是要做MDI,在注册第二个类的时候错了,但是第三个类却能注册成功