// Wird aufgerufen, wenn sich die Auwahl im Dropdown-Feld ändert.
// Aktualisiert die UI mit den neuen Werten
void CDialupDlg::OnSelchangeDialcombo()
{
RASDIALPARAMS params;
memset(¶ms, '\0',sizeof(params));
params.dwSize=sizeof(RASDIALPARAMS);
int sel=m_DialCombo.GetCurSel();
if(sel>=0)
{
m_DialCombo.GetLBText(sel, params.szEntryName);
TRACE("%s\n",params.szEntryName);
BOOL p;
//¸ù¾ÝÁ¬½ÓÃû»ñµÃÓû§ÃûºÍÃÜÂë
RasGetEntryDialParams(NULL, ¶ms, &p);
m_UserId.SetWindowText(params.szUserName);
m_PassWordEdit.SetWindowText(params.szPassword);
}
}
// Lädt alle im System eingetragenen RAS-Verbindungen (aus dem Telefonbuch)
// Hier wird also *kein* Modem ausgewählt, sondern ein Telefonbucheintrag
void CDialupDlg::SetupDialupCombo()
{
m_DialCombo.ResetContent();
//m_DialComboÊǶԻ°¿òÖÐCombox¿Ø¼þµÄÃüÃû
DWORD n;
DWORD dwSize=0;
//ö¾Ù³ö±¾µØµçÄÔÖеÄËùÓв¦ºÅÁ¬½Ó¡£
DWORD ret=RasEnumEntries(NULL, NULL, NULL, &dwSize,&n);
n=dwSize/sizeof(RASENTRYNAME);
RASENTRYNAME *entry=new RASENTRYNAME[n];
if (entry) {
entry[0].dwSize=sizeof(RASENTRYNAME);
DWORD ret=RasEnumEntries(NULL, NULL, entry, &dwSize,&n);
for (DWORD i=0;i<n;i++) {
m_DialCombo.AddString(entry[i].szEntryName);
}
delete[] entry;
}
}
// Wird aufgerufen, wenn auf "Verbinden" gedrückt wurde (welche Schaltfläche das is, kann ich allerdings net sagen)
// [URL="http://msdn.microsoft.com/en-us/library/aa377004%28VS.85%29.aspx"]RasDial-Funktion[/URL] mit den geladenen Einstellungen aufrufen
// Es wird dann geprüft, ob der Aufruf erfolgreich war oder nicht und eine entsprechende Meldung ausgegeben
// Danach wird die Verbindung direkt wieder geschlossen.
void CDialupDlg::OnConnect()
{
CWaitCursor wait;
RASDIALPARAMS params;
memset(¶ms, '\0', sizeof(params));
params.dwSize=sizeof(params);
m_DialCombo.GetWindowText(params.szEntryName,sizeof(params.szEntryName)-1);
strcpy(params.szPhoneNumber,"");
m_UserId.GetWindowText(params.szUserName,sizeof(params.szUserName)-1);
m_PassWordEdit.GetWindowText(params.szPassword,sizeof(params.szPassword)-1);
//m_UserId ºÍm_PasswordEditÊǶԻ°¿òÖÐÁ½¸öEdit¿Ø¼þµÄÃüÃû
HRASCONN handle;
//Ö¸¶¨µÄ²¦ºÅÁ¬½Ó¡£
if (RasDial(NULL, NULL,¶ms,NULL, NULL, &handle)==0)
{
MessageBox("ÒÑÁª½Ó,Èç¹û°´¡°È·¶¨¡±¾Í»áÇжϵ绰");
}
else
{
MessageBox("ÕýÔÚ²¦´òµÄ¼ÆËã»úûÓÐÓ¦´ð£¬ÉÔºóÇëÔÙÊÔ");
}
wait.Restore();
//¹Ò¶Ï
RasHangUp(handle);
}