Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать набираемый номер по Dial-Up, по протоколу RAS 
:(
    Опции темы
Олег_Игоревич
  Дата 23.7.2005, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 21.1.2005

Репутация: нет
Всего: нет



Здравствуйте !
Подскажите пожалуйста как можно узнать набираемый телефонный номер текущего соединения по протоколу RAS ?
И вывести его в Tedit.

Заранее спасибо
--------------------
Используй жизнь ПО ПОЛНОЙ !!!  
PM MAIL   Вверх
RA
Дата 24.7.2005, 07:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 10
Всего: 115



Кажется функцией RasGetEntryDialParamsA из rasapi32.dll
или RasGetEntryProperties
PM   Вверх
Girder
Дата 24.7.2005, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 4
Всего: 155



Код
procedure TForm1.Button1Click(Sender: TObject);
type
 PRasConn=^TRasConn;
 TRasConn=packed record
  dwSize:DWord;
  hRasConn:THandle;
  szEntryName:array [0..23] of Char;
 end;
 TRasConnStatus=packed record
  dwSize:DWord;
  RasConnState:DWord;
  dwError:DWord;
  szDeviceType:array [0..16] of Char;
  szDeviceName:array [0..128] of Char;
  szPhoneNumber:array [0..129] of Char;
 end; 
 TRasHangUp=function(hRasConn:THandle):DWord; stdcall;
 TRasEnumConnections=function(RasConn:PRasConn; var bSize:DWord;
                              var ConnCount:DWord):DWord; stdcall;
 TRasGetConnectStatus=function(hRasConn:THandle; var lpRasConnStatus:TRasConnStatus):DWord; stdcall;
var RasApi:Cardinal;
    RasGetConnectStatus:TRasGetConnectStatus;
    RasEnumConnections:TRasEnumConnections;
    RasHangUp:TRasHangUp;
    bSize,ConnCount,j:DWord;
    RasConnStatus:TRasConnStatus;
    RasConn:TRasConn;
    ArrRasConn,RasOld:PRasConn;
begin
 Memo1.Clear;
 RasApi:=LoadLibrary('RasApi32.dll');
 if RasApi<>0 then
  begin
   RasEnumConnections:=GetProcAddress(RasApi,'RasEnumConnectionsA');
   RasHangUp:=GetProcAddress(RasApi,'RasHangUpA');
   RasGetConnectStatus:=GetProcAddress(RasApi,'RasGetConnectStatusA');
   if (Assigned(RasEnumConnections))and(Assigned(RasHangUp))and(Assigned(RasGetConnectStatus)) then
    begin
     bSize:=0;
     RasConn.dwSize:=SizeOf(TRasConn);
     RasEnumConnections(@RasConn,bSize,ConnCount);
     if bSize>0 then
      begin
       Memo1.Lines.Add('Активных Dial-Up соединений: '+IntToStr(ConnCount));
       try
        GetMem(PChar(ArrRasConn),bSize);
        ArrRasConn^.dwSize:=SizeOf(TRasConn);
        j:=bSize;
        RasOld:=ArrRasConn;
        if RasEnumConnections(ArrRasConn,j,ConnCount)=0 then
         for j:=1 to ConnCount do
          begin
           Memo1.Lines.Add('Соединение '+IntToStr(j)+':');
           Memo1.Lines.Add(' - Дескриптор: '+IntToStr(ArrRasConn^.hRasConn));
           Memo1.Lines.Add(' - Название: '+ArrRasConn^.szEntryName);
           RasConnStatus.dwSize:=SizeOf(TRasConnStatus);
           if RasGetConnectStatus(ArrRasConn^.hRasConn,RasConnStatus)=0 then
            Memo1.Lines.Add(' - Телефон: '+RasConnStatus.szPhoneNumber);
           inc(ArrRasConn);
          end;
        FreeMem(PChar(RasOld),bSize);
       except
       end;
      end;
    end;
   FreeLibrary(RasApi);
  end;
end;



--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Олег_Игоревич
Дата 25.7.2005, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 21.1.2005

Репутация: нет
Всего: нет



Не подскажите ли Girder как можно узнать номер телефона соединения не активных а пассивных соединений?
Заранее спасибо!!!
--------------------
Используй жизнь ПО ПОЛНОЙ !!!  
PM MAIL   Вверх
Girder
Дата 26.7.2005, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 4
Всего: 155



Перечислить соединения и посмотреть какие в них номера забиты(
см. пост RAdmin-а). Одно но... в соединение номеров может и не быть... smile


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Олег_Игоревич
Дата 28.7.2005, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 21.1.2005

Репутация: нет
Всего: нет



Уважаемый Girder ! Не могли бы вы привести пример просмотра телефона в режиме off-line!
А то у меня вроде компилиться , но потом выдает ошибку!
Заранее спасибо... smile
--------------------
Используй жизнь ПО ПОЛНОЙ !!!  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.