Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
3 / 3 / 2
Регистрация: 14.05.2010
Сообщений: 86
1

Список всех машин в сети и их ip-адреса (RAD 2009)

18.05.2010, 14:13. Показов 1329. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите кто чем может, мне надо что бы в проге находило все компьютеры и их IP, в нете все облазил ничего, может у кого нибудь есть код, пригостите пожалуйста))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2010, 14:13
Ответы с готовыми решениями:

Список всех компьютеров в сети и их IP на Builder 2009
помогите, надо получить список всех компьютеров сети, ниче не могу найти, на форуме про это глухо,...

IP адреса всех компьютеров в сети
Всем привет) Вопрос собственно в названии: Как найти IP-адреса компьютеров в (локальной, хотя...

Вывести на экран список машин, отсортированный по марками определить дату продажи наибольшего числа машин
Решите задачу в делфи, я делал её в паскале интересно как будет в делфи. Порешайте кому...

Получить IP-адреса всех компьютеров в локальной сети
в общем можно както получить айпишники всех компов в сети? и вообще как реализовать связь между...

9
49 / 49 / 3
Регистрация: 16.05.2010
Сообщений: 348
18.05.2010, 14:28 2
Вот нашел
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Функция EnumNetwork для просмотра сети 
 
bool CNetNeighbourDlg::EnumNetwork(HTREEITEM hParent)
{
    bool bGotChildren = false;  
 
    NETRESOURCE *const pNetResource = (NETRESOURCE *)
        (m_NetTree.GetItemData(hParent));
 
    DWORD dwResult;      
    HANDLE hEnum;      
    DWORD cbBuffer = 16384;
    DWORD cEntries = 0xFFFFFFFF;      
    LPNETRESOURCE lpnrDrv;      
    DWORD i;
    dwResult = WNetOpenEnum(pNetResource ?  RESOURCE_GLOBALNET :
        RESOURCE_CONTEXT,
        RESOURCETYPE_ANY, 0,                               
        pNetResource ?  pNetResource: NULL,
        &hEnum );      
 
    if (dwResult != NO_ERROR)      
    {
        return false;
    }
 
    do      
    {
        lpnrDrv = (LPNETRESOURCE) GlobalAlloc(GPTR, cbBuffer);
        dwResult = WNetEnumResource(hEnum, &cEntries,
                    lpnrDrv, &cbBuffer);
        if (dwResult == NO_ERROR)         
        {
            for(i = 0; i<cEntries; i++)
            {
                CString sNameRemote = lpnrDrv[i].lpRemoteName;
                int nType = 9;
                if(sNameRemote.IsEmpty())
                {
                    sNameRemote = lpnrDrv[i].lpComment;
                    nType = 8;
                }
                if (sNameRemote.GetLength() > 0 &&
                    sNameRemote[0] == _T('\\'))
                    sNameRemote = sNameRemote.Mid(1);
                if (sNameRemote.GetLength() > 0 &&
                    sNameRemote[0] == _T('\\'))
                    sNameRemote = sNameRemote.Mid(1);
 
                if (lpnrDrv[i].dwDisplayType ==
                    RESOURCEDISPLAYTYPE_SHARE)
                {
                    int nPos = sNameRemote.Find( _T('\\'));
                    if(nPos >= 0)
                        sNameRemote = sNameRemote.Mid(nPos+1);
                    InsertTreeItem(hParent, NULL,
                    sNameRemote, DRIVE_NO_ROOT_DIR);
                }
                else
                {
                    NETRESOURCE* pResource = new NETRESOURCE;
                    ASSERT(pResource);
                    *pResource = lpnrDrv[i];
                    pResource->lpLocalName  =
                        MakeDynamic(pResource->lpLocalName);
                    pResource->lpRemoteName =
                        MakeDynamic(pResource->lpRemoteName);
                    pResource->lpComment    =
                        MakeDynamic(pResource->lpComment);
                    pResource->lpProvider   =
                        MakeDynamic(pResource->lpProvider);
                    InsertTreeItem(hParent, pResource,
                        sNameRemote, pResource->dwDisplayType+7);
                }
                bGotChildren = true;
            }
        }         
        GlobalFree((HGLOBAL)lpnrDrv);
        if (dwResult != ERROR_NO_MORE_ITEMS)
            break;         
    }
    while (dwResult != ERROR_NO_MORE_ITEMS);
 
    WNetCloseEnum(hEnum);   
    return bGotChildren;
}
1
3 / 3 / 2
Регистрация: 14.05.2010
Сообщений: 86
18.05.2010, 14:34  [ТС] 3
я так понимаю эту функцию надо на кнопку повесить???
0
49 / 49 / 3
Регистрация: 16.05.2010
Сообщений: 348
18.05.2010, 14:56 4
да, сейчас в личку скину полный пример..сюда не помешается
1
3 / 3 / 2
Регистрация: 14.05.2010
Сообщений: 86
18.05.2010, 15:01  [ТС] 5
блин косяк, я ошибся темуне там создал, мне надо на С++ Builder-e, ****, не подскажешь как это в Builder перебить??
0
49 / 49 / 3
Регистрация: 16.05.2010
Сообщений: 348
18.05.2010, 15:02 6
это как раз под билдер и сделано, но по моему по майкрасовский
1
3 / 3 / 2
Регистрация: 14.05.2010
Сообщений: 86
18.05.2010, 15:06  [ТС] 7
это на вижуале сделано, блин ни разу его в глаза не видел
0
49 / 49 / 3
Регистрация: 16.05.2010
Сообщений: 348
18.05.2010, 15:13 8
извини, другого нет.
1
3 / 3 / 2
Регистрация: 14.05.2010
Сообщений: 86
18.05.2010, 15:14  [ТС] 9
спасибо и на этом))
0
221 / 135 / 48
Регистрация: 12.04.2010
Сообщений: 248
19.05.2010, 09:18 10
Вот для обработчика кнопки Button1 и вывод в Memo1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 
        NETRESOURCE * pNetResource=NULL;
        DWORD dwResult;
        HANDLE hEnum;
        DWORD cbBuffer = 16384;
        DWORD cEntries = 0xFFFFFFFF;
        LPNETRESOURCE lpnrDrv;
        DWORD i;
        dwResult = WNetOpenEnum(pNetResource ?  RESOURCE_GLOBALNET :
                RESOURCE_CONTEXT,
                RESOURCETYPE_ANY, 0,
                pNetResource ?  pNetResource: NULL,
                &hEnum );
 
        if (dwResult != NO_ERROR)
        {
                return;// false;
        }
 
        do
        {
                lpnrDrv = (LPNETRESOURCE) GlobalAlloc(GPTR, cbBuffer);
                dwResult = WNetEnumResource(hEnum, &cEntries,
                                        lpnrDrv, &cbBuffer);
                if (dwResult == NO_ERROR)
                {
                        for(i = 0; i<cEntries; i++)
                        {
                                AnsiString sNameRemote = lpnrDrv[i].lpRemoteName;
                                int nType = 9;
                                if(sNameRemote.IsEmpty())
                                {
                                        sNameRemote = lpnrDrv[i].lpComment;
                                        nType = 8;
                                }
                                if (sNameRemote.Length() > 0 && sNameRemote[1] == '\\')
                                    sNameRemote = sNameRemote.SubString(2,sNameRemote.Length()-1);
                                if (sNameRemote.Length() > 0 && sNameRemote[1] == '\\')
                                        sNameRemote = sNameRemote.SubString(2,sNameRemote.Length()-1);
                                if (lpnrDrv[i].dwDisplayType ==
                                        RESOURCEDISPLAYTYPE_SHARE)
                                {
                                        int nPos = sNameRemote.Pos('\\');
                                        if(nPos >= 0)
                                                sNameRemote = sNameRemote.SubString(nPos+1,sNameRemote.Length()-nPos-1);
                                        Memo1->Lines->Add(sNameRemote);
 
                                }
                                else
                                {
                                    Memo1->Lines->Add(sNameRemote);
                                }
                        }
                }
                GlobalFree((HGLOBAL)lpnrDrv);
                if (dwResult != ERROR_NO_MORE_ITEMS)
                        break;
        }
        while (dwResult != ERROR_NO_MORE_ITEMS);
        WNetCloseEnum(hEnum);
}
0
19.05.2010, 09:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2010, 09:18
Помогаю со студенческими работами здесь

Rad studio 2009 и Synapse
Не могу понять что делаю не так... Хочу использовать Synapse в в Rad studio 2009. Скачал Synapse...

установка RAD STUDIO 2009
при установке Delphi C++ Builder 2009 выскакивает сообщение после которого невозможно коректно...

Rad Studio 2009 и Indy 9
Как поставить Indy 9 на 2009 Delphi? Я гуглил, искал и ничего не нашел. Может не то искал...

CodeGear RAD 2009. Отладка
вопрос, должно быть несложный.... CodeGear RAD 2009. Как отключить попадание отладчика в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru