📄 rasconn.cpp
字号:
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 + -