C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 5 - Устанавливаем соединение / RAS / Сеть

Шаг 5 - Устанавливаем соединение

Создание проекта

Поменяем код в старом.

Внимание этот пример максимально упрощен и показывает функцию соединения. Поэтому он работает не всегда. Например, у меня два типа соединения, а связь устанавливается для указанного по умолчанию в реестре.

Создаем код

#include "windows.h"
#include "ras.h"
#include "iostream.h"
#include "conio.h"

void main()
{
	HRASCONN hrascon=NULL;
	RASDIALPARAMS rc[1];
	rc[0].dwSize = sizeof(RASDIALPARAMS);
	GetPrivateProfileString("Ras","EntryName","not ready",rc[0].szEntryName,99,"Ras.ini");
	GetPrivateProfileString("Ras","Phone","not ready",rc[0].szPhoneNumber,99,"Ras.ini");
	GetPrivateProfileString("Ras","UserName","not ready",rc[0].szUserName,99,"Ras.ini");
	GetPrivateProfileString("Ras","Password","not ready",rc[0].szPassword,99,"Ras.ini");
	strcpy(rc[0].szDomain,"");
	cout << rc[0].szEntryName << endl;
	if (RasDial(NULL,NULL,rc,NULL,NULL,&hrascon)==0)
	{
		cout << "RasDial Run " << endl;
		cout << hrascon << endl;
	}
	cout << "Pess key" << endl;
	getch();
}

Описание

Для задания параметров я использовал INI файл. Если вы незнакомы с работой с ним, прочитайте шаги по использованию INI файлов.

Вот такой он у меня. Только вместо пароля я постаил звездочки. Но это провайдер просил :-).

[Ras]
EntryName=Jana
Phone=20507
UserName=******
Password=*********

Ну, а дальше всё похоже. HRASCONN идентификатор соединения. Если оно будет установлено, то в него поместится число. RASDIALPARAMS - массив структур с информацией о точке входа и соединении.

Дальше мы вызываем функцию RasDial. Там где стоят NULL параметры не используются, либо нам не нужны. Эта функция выдает результат своего выполнения. Например, если линия занята, то функция не выполнится.

Ну чтож компилируйте, настраивайте INI и запускайте. Если у Вас несколько соединений, то попробуйте все. Всё будет происходит несколько непривычно. Ничего кроме терминала не появится.

Шпаргалка

Создайте идентификатор соединения:

HRASCONN hrascon=NULL;

И массив информации:

RASDIALPARAMS rc[1];

Заполните параметры и вызовите RasDial():

if (RasDial(NULL,NULL,rc,NULL,NULL,&hrascon)==0)
{
	......
}

| |
Автор Каев Артем.
[AD]