65.9K
CodeProject 正在变化。 阅读更多。
Home

创建拨号连接

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.50/5 (8投票s)

2002年8月30日

2分钟阅读

viewsIcon

137867

downloadIcon

5494

描述如何创建一个新的电话簿条目,并使用用户配置文件进行设置。

Sample Image

引言

最近我研究了拨号API,我注意到很多人在使用一些RAS函数时遇到了困难。在这里,我决定展示如何创建一个新的电话簿条目。关键函数是 RasSetEntryProperties() 来创建一个电话簿条目,以及 RasSetEntryDialParams() 将用户名和密码存储在其中。还有一些其他的RAS函数被使用,但我将它们封装在非常简单的函数中,以向您展示如何正确地使用它们。

API 参考

CreateRasEntry

使用此函数创建一个新的电话簿条目。

BOOL CRasEntry::CreateRasEntry(CString strEntryName, RASENTRY &RasEntry);

参数

  • strEntryName:指定一个字符串,其中包含用于建立连接的电话簿条目。
  • RasEntryRASENTRY 结构,其中包含要与 strEntryName 参数指定的电话簿条目关联的新连接数据。

EnumModem

返回所有可用的 RAS 功能设备的名称和类型。

BOOL CRasEntry::EnumModem(char *szDeviceType, CStringArray &strDevArray);

参数

  • szDeviceType:指定一个 RAS 设备类型。可用的类型有:RASDT_Modem, RASDT_Isdn, RASDT_X25, RASDT_VpnRASDT_Pad。对于拨号连接,您应该使用 RASDT_Modem (“modem”)。
  • strDevArray:如果此函数返回 TRUE,则 strDevArray 将包含所有RAS设备的名称。

GetCountryInfo

从 Windows 电话国家/地区列表中检索特定于国家/地区的拨号信息。 在调用此函数之前提供国家/地区 ID。 如果函数成功,它将返回国家/地区 ID。

DWORD CRasEntry::GetCountryInfo(DWORD dwCID, RASCTRYINFO &RasCTryInfo, char *szCountryName);

参数

  • dwCID:指定一个字符串,其中包含用于建立连接的电话簿条目。
  • RasCTryInfo:指定一个字符串,其中包含用户的用户名。
  • szCountryName:指定一个字符串,其中包含用户的密码。

为了检索所有国家/地区,创建一个像这样的 while 循环

RASCTRYINFO RasCTryInfo;
char szCountryName[256];
DWORD dwCountryID = 1;
while(GetCountryInfo(dwCountryID, RasCTryInfo, szCountryName))
{
    dwCountryID = RasCTryInfo.dwNextCountryID;
}

SetEntryDialParams

指定指定电话簿条目的用户名和密码。

BOOL CRasEntry::SetEntryDialParams(CString strEntryName, CString strUsername, CString strPassword, BOOL bRemovePassword);

参数

  • strEntryName:指定一个字符串,其中包含用于建立连接的电话簿条目。
  • strUsername:指定一个字符串,其中包含用户的用户名。
  • strPassword:指定一个字符串,其中包含用户的密码。
  • bRemovePassword:指示是否需要存储密码。 如果 bRemovePassword TRUE,则不会保存密码。
© . All rights reserved.