PostMessage(hWndMain, WM_COMMAND, IDWIZNEXT, 0); break;  case IDWIZBACK: DestroyWindow(hDlg); PostMessage(hWndMain, WM_COMMAND, IDWIZBACK, 0);
DlgSequenceNext();
LRESULT CALLBACK DlgProcWelcome(HWND hDlg, UINT msg, WPARAM wParam, LONG lParam){  char szBuf[MAX_BUF];  RECT rDlg;    switch(msg)  {    case WM_INITDIALOG:      SetWindowText(hDlg, diWelcome.szTitle);      wsprintf(szBuf, diWelcome.szMessage0, sgProduct.szProductName);      SetDlgItemText(hDlg, IDC_STATIC0, szBuf);      SetDlgItemText(hDlg, IDC_STATIC1, diWelcome.szMessage1);      SetDlgItemText(hDlg, IDC_STATIC2, diWelcome.szMessage2);      if(GetClientRect(hDlg, &rDlg))        SetWindowPos(hDlg, HWND_TOP, (dwScreenX/2)-(rDlg.right/2), (dwScreenY/2)-(rDlg.bottom/2), 0, 0, SWP_NOSIZE);      break;    case WM_COMMAND:      switch(LOWORD(wParam))      {        case IDWIZNEXT:          DestroyWindow(hDlg);          PostMessage(hWndMain, WM_COMMAND, IDWIZNEXT, 0);          break;        case IDWIZBACK:          DestroyWindow(hDlg);          PostMessage(hWndMain, WM_COMMAND, IDWIZBACK, 0);          break;        case IDCANCEL:          AskCancelDlg(hDlg);          break;        default:          break;      }      break;  }  return(0);}