Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2009, 20:02   #1
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию Создание VPN соединения

Сабж + один нюанс.
Нужно чтобы в результате появилось виндовское соединение в папке "Сетевые подключения" и потом пользователь будет использовать именно его.
RAS, на сколько я понял, мне не подходит.
P.S. Похожие темы смотрел
psycho-coder вне форума Ответить с цитированием
Старый 30.10.2009, 12:41   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

ras тоже подходит...
а вообще поиск рулит http://www.programmersforum.ru/showt...&highlight=vpn
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 30.10.2009, 20:02   #3
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
ras тоже подходит...
Почитав немного про RAS, я понял, что VPN соединением будет управлять программа написанная на RasAPI или я опять не так понял?
Цитата:
а вообще поиск рулит http://www.programmersforum.ru/showt...&highlight=vpn
Посмотрим
psycho-coder вне форума Ответить с цитированием
Старый 30.10.2009, 20:13   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...вот вам код через ras:
Код:
var
RE: TRasEntry;
DEV: array[1..100] of TRASDEVINFO;
i, j,cnt: integer;

begin
 j := sizeof(DEV)*100;
 DEV[1].dwSize := sizeof(TRASDEVINFO);
 i := RasEnumDevicesA(@DEV[1], j, cnt); 
 Memo1.Lines.Add('j ='+IntToStr(j)+' i='+IntToStr(i)+' cnt='+IntToStr(cnt));
 if i <> 0 then Memo1.Lines.Add('ошибка!');
 For i := 1 to cnt do Memo1.Lines.Add(DEV[i].szDeviceType+' = '+DEV[i].szDeviceName);

 RasCreatePhoneBookEntry(Form1.Handle,'111');
 Fillchar(RE, sizeof(TRasEntry), 0);
 RE.dwSize := sizeof(TRasEntry);
 RE.dwfOptions := 66832;
 //RASEO_RemoteDefaultGateway + RASEO_Custom + RASEO_RequireCHAP +   RASEO_ShowDialingProgress;
 RE.dwCountryID := 7;
 RE.dwCountryCode := 7;
 RE.szAreaCode := '';
 RE.szLocalPhoneNumber := '1241241';
 RE.dwfNetProtocols := RASNP_Ip;
 RE.dwFramingProtocol := RASFP_Ppp;
 RE.szDeviceType := 'vpn';
 RE.szDeviceName := 'WAN Miniport (L2PTP)';
 RE.szDeviceType := RASDT_Isdn;

 try
  i := RasSetEntryPropertiesA(nil, 'Имя соединения', @RE, sizeof(TRasEntry), nil, 0);
  if i = ERROR_BUFFER_INVALID then Memo1.Lines.Add('The address or buffer specified by lpRasEntry is invalid');
  if i = ERROR_CANNOT_OPEN_PHONEBOOK then Memo1.Lines.Add('The phone book is corrupted or missing components');
 except end
end;
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 30.10.2009, 20:27   #5
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Спасибо, буду разбираться.
Значит я опять все не так понял((
psycho-coder вне форума Ответить с цитированием
Старый 30.10.2009, 20:57   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Значит я опять все не так понял((
...где сказано, что не так? все путем
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 30.10.2009, 21:27   #7
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Я имел ввиду, что, я думал, что с помощью RAS нельзя создать соединение, так как я хотел.
psycho-coder вне форума Ответить с цитированием
Старый 16.01.2011, 00:57   #8
tigrenokmosya
Новичок
Джуниор
 
Регистрация: 16.01.2011
Сообщений: 2
Радость

Искал долго решение, в Интернете масса обсуждений на различных формах.
В итоге не нашел одного целого и собрал сам тузлу для автоматического создани vpn-соединение с помощью Delphi
Начал делать сайт проекта http://tigrenokmosya.narod.ru/
Сайт еще немного доделать надо, но файлы исходников и пример работы программы там есть. Чем смог, тем помог.
tigrenokmosya вне форума Ответить с цитированием
Старый 16.01.2011, 02:34   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

да ну, шо вы говорите
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 26.05.2016, 17:39   #10
shs777
Новичок
Джуниор
 
Регистрация: 18.04.2016
Сообщений: 1
По умолчанию

Цитата:
Сообщение от tigrenokmosya Посмотреть сообщение
Искал долго решение, в Интернете масса обсуждений на различных формах.
В итоге не нашел одного целого и собрал сам тузлу для автоматического создани vpn-соединение с помощью Delphi
Начал делать сайт проекта http://tigrenokmosya.narod.ru/
Сайт еще немного доделать надо, но файлы исходников и пример работы программы там есть. Чем смог, тем помог.
Однако же ни одного исходника на сайте нет.
shs777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание VPN [с параметрами] Denager Работа с сетью в Delphi 4 17.01.2011 22:57
VPN: Создание, задание параметров, управление Fainder Работа с сетью в Delphi 1 10.10.2010 01:03
Создание VPN соединения KAMENYKA Работа с сетью в Delphi 10 10.04.2010 16:01
Ip-телефония и VPC/VPN соединения ImmortalAlexSan Компьютерное железо 7 26.10.2009 18:39
C#: Создание соединения с БД Veiron Общие вопросы .NET 3 03.06.2009 23:56