Последние записи
- Как запустить программу указанную в Edit.Text
- Скачать файл с использованием потока
- Поиск слова в Memo
- Распаковщик формата .img из GTA San Andreas
- Подсчет количества повторяющихся букв в файле
- Простейший скрипт загрузки картинки с помощью php
- Рассылка. Выпуск 154
- Получение картинки с веб-камеры
- Скопировать определённый кусок image
- Сделать printscreen экрана и сохранить
27th
Июн
Как создать vpn-подключение средствами ras?
Posted by Chas under Пост-обзор
MalCer:
Работающий код прилагаю:
#include
#include
#include
#pragma comment (lib, "RASAPI32.lib")
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
RASENTRYW re;
DWORD dwFlags;
DWORD dwFlags2;
DWORD dwSize;
DWORD SizeInfo;
dwSize = sizeof(RASENTRY);
RasGetEntryProperties(0, 0, 0, &SizeInfo, 0, 0);
if (SizeInfo < dwSize)
{
dwSize = SizeInfo;
}
memset(&re, 0, dwSize);
dwFlags = RASEO_PreviewUserPw |RASEO_ModemLights |RASEO_ShowDialingProgress |
RASEO_RemoteDefaultGateway |RASEO_RequireEncryptedPw |
RASEO_RequireDataEncryption |RASEO_RequireMsEncryptedPw;
dwFlags2 = RASEO2_DontNegotiateMultilink | RASEO2_ReconnectIfDropped;
re.dwSize = dwSize;
re.dwfOptions =dwFlags;
re.dwfOptions2 = dwFlags2;
re.dwfNetProtocols = RASNP_Ip;
re.dwFramingProtocol = RASFP_Ppp;
re.dwType=RASET_Vpn;
re.dwVpnStrategy = VS_Default;
re.dwEncryptionType = ET_Optional;
re.dwDialMode = RASEDM_DialAll;
re.dwRedialCount = 3;
re.dwRedialPause = 60;
lstrcpyW(re.szDeviceType, _T("vpn"));
lstrcpyW(re.szLocalPhoneNumber, _T("my.vpn.server.ru"));
lstrcpyW(re.szDeviceName, RASDT_Vpn);
if (RasSetEntryPropertiesW(NULL, _T("myVPN"), &re,dwSize, NULL, 0))
{
MessageBox(0,_T("ошибка RasSetEntryProperties"), 0,MB_ICONWARNING);
}
else MessageBox(0,_T("подключение создалось"),_T("Ok"),MB_OK);
return 0;
}
