|
|
|
новичок
      
участник
Last Login: 16.11.2006 2:57
Сообщ.: 4,
Visits: 4
|
|
можно ли программно создать PPPoE подключение и указать параметры подключения?
Я не имею в виду соединение, а просто создать новое подключение в "Сетевые подключения" и вывести ярлык на рабочий стол
|
|
|
|
|
новичок
      
участник
Last Login: 16.11.2006 2:57
Сообщ.: 4,
Visits: 4
|
|
| оказывается можно ... вопрос снят
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Ну так приведи решение. Вдруг еще кому-то пригодится.
|
|
|
|
|
новичок
      
участник
Last Login: 16.11.2006 2:57
Сообщ.: 4,
Visits: 4
|
|
bazile (15.11.2006) Ну так приведи решение. Вдруг еще кому-то пригодится.
вот привожу мое решение, не без участия статей из MSDN:
HANDLE hHeap = NULL;
DWORD dwErr = NO_ERROR;
LPRASENTRYDLG lpInfo = NULL;
char * lpszEntry = AnsiToUtf8("наименование_подключения").c_str();
hHeap = GetProcessHeap();
if( NULL == hHeap ){
dwErr = GetLastError();
ShowMessage("GetProcessHeap() failed: Error = " + AnsiString(dwErr));
}
lpInfo = (LPRASENTRYDLG) HeapAlloc( hHeap, HEAP_ZERO_MEMORY, sizeof(RASENTRYDLG));
if( NULL == lpInfo ){
dwErr = ERROR_OUTOFMEMORY;
ShowMessage("HeapAlloc() failed");
}
lpInfo->dwSize = sizeof(RASENTRYDLG);
lpInfo->dwFlags |= RASEDFLAG_NewBroadbandEntry; // флаг автоматического создания подключения (только для NT)
bool nRet = RasEntryDlg(NULL, lpszEntry, lpInfo);
if (nRet == true) {
MessageBox(prg,("Создано новое подключение " + Utf8ToAnsi(lpInfo->szEntry)).c_str(),Form1->Caption.c_str(),MB_ICONINFORMATION);
}
else
{
if (lpInfo->dwError != 0)
MessageBox(prg,("Ошибка создания подключения: " + AnsiString(lpInfo->dwError)).c_str(),Form1->Caption.c_str(),MB_ICONERROR);
}
if( NULL != lpInfo ){
HeapFree( hHeap, 0, lpInfo);
}
ну вот, мож и сыровато, но работает. пользователю при этом только необходимо поддтвердить имя подключения в стандартном диалоге Windows
|
|
|
|