Форум - Ответы     (  К темам )
 ?  Ильдар: список удаленных соединений (Dial-up connections) (29-04-2003 19:40:26)
НАрод помогите... Мне нужно получить имена всех удаленных соединений которые есть на машине... Тех самых которые хранятся в PWL файле в 98 винде.... Никак не могу найти.
 Павел (29-04-2003 20:36:49)
Смотри функцию RasEnumEntries в Help-e к C++Builder:

The RasEnumEntries function lists all entry names in a remote access phone book.

DWORD RasEnumEntries (

LPTSTR reserved, // reserved, must be NULL
LPTSTR lpszPhonebook, // pointer to full path and filename of phone-book file
LPRASENTRYNAME lprasentryname, // buffer to receive phone-book entries
LPDWORD lpcb, // size in bytes of buffer
LPDWORD lpcEntries // number of entries written to buffer
);


Или небольшое описание на русском:

http://www.delphikingdom.ru/helloworld/rasapi.htm

Там по Delphi, но понять можно, и вроде пример есть (на Delphi)
 Владимир (29-04-2003 21:05:32) http://cbuilder.ru
А вот примерно так это выглядит на C++Builder:
//---------------------------------------------------------------------------


#include < ras.h >
#define MaxEnt 50
void __fastcall TForm1::Button1Click(TObject *Sender)
{
unsigned long BuffSize;
unsigned long Entries;
RASENTRYNAME Entry[MaxEnt];
int Result;

Entry[0].dwSize = sizeof(RASENTRYNAME);
BuffSize = sizeof(RASENTRYNAME)*MaxEnt;
Result = RasEnumEntries(NULL, NULL, &Entry[0], &BuffSize, &Entries);

if(Result == 0 && Entries > 0)
  {
        TStringList *AllEntries = new TStringList();
        for(int i=0; i<(int)Entries; i++){
           AllEntries->Add(Entry[i].szEntryName);
           }
        ListBox1->Items->AddStrings(AllEntries);
        delete AllEntries;
  }
}
//-----------------------------------------------------------------



Result_- в случае успешного выполнения возвращает 0, в противном случае получим
ERROR_BUFFER_TOO_SMALL (буфер слишком маленький) или 
ERROR_NOT_ENOUGH_MEMORY(не хватает памяти).
BuffSize - указанный нами размер AnsiChar-массива.
&Entry[0]- получим указатель на первый элемент массива, 
в который поместились необходимые нам сведения. 
Entries - получим количество зарегистрированных в системе "удаленных доступов".

Остальное смотри в Help-e или указанной выше статье королевства Delphi.
 Ильдар (30-04-2003 12:36:07)
Блин.. классно.... но работает в 2000 винде... а вот в 98 не хочет
 Ильдар (30-04-2003 12:50:42)
Блин.. классно.... но работает в 2000 винде... а вот в 98 не хочет


support@cbuilder.ru