⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rasconn.cpp

📁 WINDOWS CE 通信指南(附光盘) 本书配套光盘内容包括:本书的英文版电子书;SDK for Windows CE
💻 CPP
📖 第 1 页 / 共 3 页
字号:
      SendDlgItemMessage (hDlgWnd, IDC_USERNAME, EM_LIMITTEXT, 100, 0);
      SendDlgItemMessage (hDlgWnd, IDC_PASSWORD, EM_LIMITTEXT, 100, 0);
      SendDlgItemMessage (hDlgWnd, IDC_DOMAIN, EM_LIMITTEXT, 100, 0);

      // Reset password.
      szPassword[0] = '\0';
      
      SetDlgItemText (hDlgWnd, IDC_USERNAME, szUserName);
      SetDlgItemText (hDlgWnd, IDC_PASSWORD, szPassword);
      SetDlgItemText (hDlgWnd, IDC_DOMAIN, szDomain);
      return TRUE;

    case WM_COMMAND:
      switch (LOWORD(wParam))
      {
        case IDOK:
          GetDlgItemText (hDlgWnd, IDC_USERNAME, szUserName, 100);
          GetDlgItemText (hDlgWnd, IDC_PASSWORD, szPassword, 100);
          GetDlgItemText (hDlgWnd, IDC_DOMAIN, szDomain, 100);

          EndDialog (hDlgWnd, IDOK);
          return TRUE;
      }
      return TRUE;
  }

  return FALSE;
}

/***********************************************************************

FUNCTION:
  DialingDlgProc

PURPOSE:
  Processes messages sent to the Dialing dialog box window.

***********************************************************************/
BOOL CALLBACK DialingDlgProc (HWND hDlgWnd, UINT uMsg, WPARAM wParam, 
                              LPARAM lParam)
{
  switch (uMsg)
  {
    case WM_INITDIALOG:
      if (!MakeRasDial (hDlgWnd))
        DestroyWindow (hDlgWnd);
      else
        SetCursor (LoadCursor (NULL, IDC_WAIT));

      return TRUE;

    case WM_COMMAND:
      switch (LOWORD(wParam))
      {
        case IDC_HIDE:
          ShowWindow (hDlgWnd, FALSE);
          break;

        case IDC_HANGUP:
          CloseRasConnections ();

          EnableMenuItem (hMainMenu, IDM_CONNECTION_STATUS, 
                          MF_BYCOMMAND | MF_GRAYED);
          EnableMenuItem (hMainMenu, IDM_CONNECTION_HANGUP, 
                          MF_BYCOMMAND | MF_GRAYED);

          DestroyWindow (hDlgWnd);
          SetCursor (0);
          break;
      }
      return TRUE;

    // RAS notification message. 
    case WM_RASDIALEVENT:
    {
      LPTSTR lpszStatus;
        
      switch (wParam)
      {
        case RASCS_OpenPort:   
          lpszStatus = TEXT("Opening port");
          break;
        case RASCS_PortOpened:     
          lpszStatus = TEXT("Port opened");
          break;
        case RASCS_ConnectDevice: 
          lpszStatus = TEXT("Connecting device");
          break;
        case RASCS_DeviceConnected:  
          lpszStatus = TEXT("Device connected"); 
          break;  
        case RASCS_AllDevicesConnected: 
          lpszStatus = TEXT("All device connected");
          break;
        case RASCS_Authenticate:  
          lpszStatus = TEXT("Starting authenticating");   
          break;
        case RASCS_AuthNotify:  
          lpszStatus = TEXT("The authentication event has\noccurred"); 
          break;  
        case RASCS_AuthRetry: 
          lpszStatus = TEXT("RASCS_AuthRetry");
          break;
        case RASCS_AuthCallback: 
          lpszStatus = TEXT("Requested a callback number");  
          break;  
        case RASCS_AuthChangePassword: 
          lpszStatus = TEXT("RASCS_AuthChangePassword");   
          break; 
        case RASCS_AuthProject: 
          lpszStatus = TEXT("RASCS_AuthProject");
          break;
        case RASCS_AuthLinkSpeed: 
          lpszStatus = TEXT("RASCS_AuthLinkSpeed");  
          break;  
        case RASCS_AuthAck:  
          lpszStatus = TEXT("RASCS_AuthAck");
          break;
        case RASCS_ReAuthenticate: 
          lpszStatus = TEXT("RASCS_ReAuthenticate");
          break;
        case RASCS_Authenticated:    
          lpszStatus = TEXT("RASCS_Authenticated"); 
          break;
        case RASCS_PrepareForCallback: 
          lpszStatus = TEXT("RASCS_PrepareForCallback");
          break;
        case RASCS_WaitForModemReset: 
          lpszStatus = TEXT("RASCS_WaitForModemReset");   
          break; 
        case RASCS_WaitForCallback:   
          lpszStatus = TEXT("RASCS_WaitForCallback"); 
          break;
        case RASCS_Projected: 
          lpszStatus = TEXT("RASCS_Projected"); 
          break;
        case RASCS_Interactive: 
          lpszStatus = TEXT("RASCS_Interactive"); 
          break;
        case RASCS_RetryAuthentication: 
          lpszStatus = TEXT("RASCS_RetryAuthentication"); 
          break;
        case RASCS_CallbackSetByCaller: 
          lpszStatus = TEXT("RASCS_CallbackSetByCaller"); 
          break;
        case RASCS_PasswordExpired: 
          lpszStatus = TEXT("RASCS_PasswordExpired"); 
          break;

        case RASCS_Connected: 
          lpszStatus = TEXT("Connected"); 
          SetCursor (0);
          break;
        case RASCS_Disconnected: 
          lpszStatus = TEXT("Disconnected"); 
          SetCursor (0);
          break;
      }
      
      // Display the status of the RAS connection.
      SetDlgItemText (hDlgWnd, IDC_STATUS, lpszStatus);
      GetConnStatus ();
      return 0;
    }
  }
  return 0;
}

/***********************************************************************

FUNCTION:
  MainWndProc

PURPOSE: 
  Processes messages sent to the main window.

***********************************************************************/
LRESULT CALLBACK MainWndProc (HWND hWnd, UINT uMsg, WPARAM wParam,
                              LPARAM lParam)
{
  switch (uMsg)
  {
    case WM_CREATE:
      // Create commandbar and insert the menu.
      hCmdBarWnd = CommandBar_Create (hInst, hWnd, 1);
      CommandBar_InsertMenubar (hCmdBarWnd, hInst, IDR_MAIN_MENU, 0);
      CommandBar_AddAdornments (hCmdBarWnd, 0, 0);

      hMainMenu = CommandBar_GetMenu (hCmdBarWnd, 0);
      EnableMenuItem (hMainMenu, IDM_CONNECTION_STATUS, 
                      MF_BYCOMMAND | MF_GRAYED);
      EnableMenuItem (hMainMenu, IDM_CONNECTION_HANGUP, 
                      MF_BYCOMMAND | MF_GRAYED);
      return 0;

    case WM_COMMAND:
      switch (LOWORD(wParam))
      {
        case IDM_FILE_PHONEBOOK:
          DialogBox (hInst, MAKEINTRESOURCE(IDD_PHONEBOOK), hWnd, 
                     PhoneBookDlgProc);
          break;

        case IDM_CONNECTION_CONNECT:
        {
          // Create the Status dialog box.
          hDialingWnd = CreateDialog (hInst, 
                                      MAKEINTRESOURCE(IDD_DIALING),
                                      hWnd, 
                                      DialingDlgProc);

          // Display the Status dialog box and the connection status.
          if (hDialingWnd)
          {
            ShowWindow (hDialingWnd, TRUE);
            GetConnStatus ();
            EnableMenuItem (hMainMenu, IDM_CONNECTION_STATUS, 
                            MF_BYCOMMAND | MF_ENABLED);
            EnableMenuItem (hMainMenu, IDM_CONNECTION_HANGUP, 
                            MF_BYCOMMAND | MF_ENABLED);
          }
          break;
        }
       
        case IDM_CONNECTION_STATUS:
          if (hDialingWnd)
            ShowWindow (hDialingWnd, TRUE);
          break;
          
        case IDM_CONNECTION_HANGUP:
          SendMessage (hDialingWnd, WM_COMMAND, 
                       MAKEWPARAM(IDC_HANGUP, 0), 0);
          break;
          
        case IDM_FILE_EXIT:
          CloseRasConnections ();
          DestroyWindow (hWnd);
          break;

        case IDM_HELP_ABOUT:
          MessageBox (hWnd, 
                      TEXT("Window CE RasConn Sample Application\r\n")
                      TEXT("              (c) Microsoft 1999"),
                      TEXT("About RasConn"), 
                      MB_OK);
          break;
      }
      return 0;

    case WM_DESTROY:
      CloseRasConnections ();
      PostQuitMessage (0);
      return 0;
  }
  return DefWindowProc (hWnd, uMsg, wParam, lParam);
}

/***********************************************************************

FUNCTION: 
  InitApplication

PURPOSE: 
  Initializes and registers a windows class.

***********************************************************************/
BOOL InitApplication (HINSTANCE hInstance)
{
  WNDCLASS  wc;

  wc.style = CS_HREDRAW | CS_VREDRAW;
  wc.lpfnWndProc = (WNDPROC)MainWndProc;
  wc.cbClsExtra = 0;
  wc.cbWndExtra = 0;
  wc.hInstance = hInstance;
  wc.hIcon = (HICON)NULL;
  wc.hCursor = NULL;
  wc.hbrBackground = (HBRUSH)GetStockObject (WHITE_BRUSH);
  wc.lpszMenuName = 0;
  wc.lpszClassName = szAppName;

  return RegisterClass (&wc);
}

/***********************************************************************

FUNCTION: 
  InitInstance

PURPOSE: 
  Creates and displays the main window.

***********************************************************************/
BOOL InitInstance (HINSTANCE hInstance, int nCmdShow)
{
  hMainWnd = CreateWindowEx (0, 
                             szAppName,
                             szTitle,
                             WS_CLIPCHILDREN,
                             CW_USEDEFAULT, 0, 
                             CW_USEDEFAULT, 0,
                             NULL, 
                             NULL,
                             hInstance, 
                             NULL);
  if (!hMainWnd)
  {
    return FALSE;
  }

  ShowWindow (hMainWnd, nCmdShow);
  UpdateWindow (hMainWnd);

  return TRUE;
}

/***********************************************************************

FUNCTION: 
  WinMain

PURPOSE: 
  Called by the system as the initial entry point for this Windows 
  CE-based application.

***********************************************************************/
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, 
                    LPTSTR lpCmdLine, int nCmdShow)
{
  MSG msg;
 
  hInst = hInstance;

  if (!hPrevInstance)
  {
    if (!InitApplication (hInstance))
      return 0;
  }

  if (!InitInstance (hInstance, nCmdShow))
  {
    return 0;
  }
 
  while (GetMessage (&msg, NULL, 0, 0))
  {
    TranslateMessage (&msg);
    DispatchMessage (&msg);
  }

  return 1;
}
// END OF RASCONN.CPP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -