информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Греби в сторону Ras*** функций 21.04.03 15:30  Число просмотров: 965
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
<programming>
Кто-нить программил DialUp под WIn9X 21.04.03 15:28  
Автор: Helmet Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Греби в сторону Ras*** функций 21.04.03 15:30  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
Да я и гребу, заплыл уже далеко, а толку... =( 21.04.03 15:32  
Автор: Helmet Статус: Незарегистрированный пользователь
<"чистая" ссылка>
А что тебе конкретно надо? 21.04.03 15:36  
Автор: Killer{R} <Dmitry> Статус: Elderman
Отредактировано 21.04.03 16:18  Количество правок: 2
<"чистая" ссылка>
этот пример смотрит есть активные соединения и если нету - звонит по заданному соединению возвращая хэндл соединения. Скопировал прямо из кода билдеровой проги так что если что непонятно спрашивай. Работает под 2000, под 9х не тестировал за неимением оной. И не забудь перед #include "ras.h" сделать:
#pragma pack(1)
#define WINVER 0x400
Form1->ComboBox3->Text здесь это название соединения (не номер а именно название).

int dialend;
void WINAPI RasDialFunc(UINT unMsg,RASCONNSTATE rasconnstate,DWORD dwError)
{
switch (rasconnstate)
{
case RASCS_PortOpened:Form1->StatusBar1->Panels->Items[1]->Text="Port opened";break;
case RASCS_DeviceConnected:Form1->StatusBar1->Panels->Items[1]->Text="Device connected";break;
case RASCS_Authenticate:Form1->StatusBar1->Panels->Items[1]->Text="Authentificate...";break;
case RASCS_Authenticated:Form1->StatusBar1->Panels->Items[1]->Text="Authentificated";break;
case RASCS_Connected:Form1->StatusBar1->Panels->Items[1]->Text="Connected";dialend=1;break;
case RASCS_Disconnected:Form1->StatusBar1->Panels->Items[1]->Text="Connect failed";dialend=2;break;
}
if(dwError){Form1->StatusBar1->Panels->Items[1]->Text="Dial error";er=dwError;dialend=2;};
}
HRASCONN __fastcall checkdial()
{
if(!Form1->ComboBox3->ItemIndex)return 0;
RASCONN rsc[128];
while(true)
{
Form1->StatusBar1->Panels->Items[1]->Text="Checking dialup connections...";
DWORD rasnum=0;
DWORD rassz=128*sizeof(RASCONN);
ZeroMemory(rsc,128*sizeof(RASCONN));
rsc[0].dwSize=sizeof(RASCONN);
RasEnumConnections(&rsc[0],&rassz,&rasnum);
for(DWORD i=0;i<rasnum;i++)
{
RASCONNSTATUS rsconst;rsconst.dwSize=sizeof(rsconst);
if(!RasGetConnectStatus(rsc[i].hrasconn,&rsconst))
{
if(rsconst.rasconnstate==RASCS_Disconnected){RasHangUp(rsc[i].hrasconn);Sleep(1000);}
if(rsconst.rasconnstate==RASCS_Connected)return 0;
}
}
hRasConn=0;
RASDIALPARAMS rdp;ZeroMemory(&rdp,sizeof(rdp));rdp.dwSize=sizeof(rdp);
strcpy(rdp.szEntryName,Form1->ComboBox3->Text.c_str());
int passet=0;
Form1->StatusBar1->Panels->Items[1]->Text="Dialing...";
RasGetEntryDialParams(0,&rdp,&passet);
nowdial=true;dialend=0;
er=RasDial(0,0,&rdp,0,RasDialFunc,&hRasConn);
if(!er)while(!dialend)Sleep(100);
if(er|
dialend==2))
{
if(hRasConn){RasHangUp(hRasConn);Sleep(1000);};
nowdial=false;
Form1->StatusBar1->Panels->Items[1]->Text="Error "+(AnsiString)er+". Retry in 5 seconds...";
Sleep(5000);
}
else return hRasConn;

}

}
Мне конкретно надо получить номер телефона соединения... 21.04.03 16:32  
Автор: Helmet Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Вызываю сначала

RasEnumEntries(Nil,nil,@tRASENTRYNAM_E,cbBuf,Entry);

получаю список всех соединений...

Затем вызываю

RasGetEntryDialParams(nil,DialParams,fp);

Получаю информацию о соединении... =) НО! Телефон в поле

dialparams.szphonenumber

почему то не заносится...

Так вот как получить номер телефона?




Мне конкретно надо получить номер телефона соединения... 02.05.03 15:38  
Автор: Tamas Статус: Member
Отредактировано 02.05.03 15:43  Количество правок: 1
<"чистая" ссылка>
> Вызываю сначала
>
> RasEnumEntries(Nil,nil,@tRASENTRYNAM_E,cbBuf,Entry);
>
> получаю список всех соединений...
>
> Затем вызываю
>
> RasGetEntryDialParams(nil,DialParams,fp);
>
> Получаю информацию о соединении... =) НО! Телефон в поле
>
> dialparams.szphonenumber
>
> почему то не заносится...
>
> Так вот как получить номер телефона?
>
>
>
>

а ты случием не забыл при набивке структур занести размер структуры в dwSize ? есле не поможет то попробуй поюзать RasGetEntryProperties
присутствует начиная с Win98 SE
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach