![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| EnergoHokum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: 3 Всего: 6 |
Есть ли функции/функция WinAPI, которой можно было бы получить IP машины, где запущена программа? Про WinSock знаю, но интересуют именно "родные" API-шные функции.
|
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 8 Всего: 26 |
DWORD GetIPAddress(
HWND hParent ); -------------------- ????? ??, ??????? ?????. |
|||
|
||||
| EnergoHokum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: 3 Всего: 6 |
Мне бы что-нить для консоли, эта программа будет в сервисе сидеть...
|
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 8 Всего: 26 |
А какая разница?
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
| EnergoHokum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: 3 Всего: 6 |
А где я в консоли HWND возьму?
|
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 8 Всего: 26 |
Ну попробуй просто передать 0
Или есть же по-моему функция GetConsoleWindow(.....) -------------------- ????? ??, ??????? ?????. |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
что это такое ты подразумеваешь под "родными API", что winsock у тебя неродным получился?
уже сама декларация в ступор вводит - нафига для получения адреса нужен хэндл окна?!.. да и не было такой вроде.. прояснилось:
короче мимо. вообще. а правильный "суповой набор" - IP Helper |
|||
|
||||
| Pulse69 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 28.4.2006 Где: Хабаровск Репутация: 8 Всего: 10 |
[offtopic]
Интересно, зачем вообще искать какие-то "родные API" для получения IP адреса, когда есть не менее "родной" WinSock API. И вообще, когда это WinSock перестал быть "родным API"? [/offtopic] --------------------
Ctrl+Alt+Reset |
|||
|
||||
| DominiK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 11.3.2007 Где: Россия, Омск Репутация: нет Всего: нет |
Да да да. GetCurrentIP(LPSTR lpStringWithIP) { LPHOSTENT lphost; char HostName[1024]; DWORD m_HostIP = 0; if(!gethostname(HostName, 1024)) { if(lphost = gethostbyname(HostName)) m_HostIP = ((LPIN_ADDR)lphost->h_addr)->s_addr; } if (lpStringWithIP) strcpy(lpStringWithIP, inet_ntoa(*((in_addr*)lphost->h_addr_list[0]))); return m_HostIP; } Пользуйся. Это сообщение отредактировал(а) DominiK - 2.11.2007, 19:40 |
|||
|
||||
| EnergoHokum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: 3 Всего: 6 |
Чичас буду посмотреть, как это работает. Только я под MinGW работаю, есть ли там такие функции...
|
|||
|
||||
| EnergoHokum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: 3 Всего: 6 |
В заголовочных файлах MinGW такой функции нет, придётся, наверное, пользовать WinSock.
|
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
gethostbyname чушь. у меня не один интерфейс на машине.
рой в строну SnmpExtensionInit(), SnmpExtensionQuery (), SnmpExtensionTrap () SnmpExtensionInitEx() в общем статья есть неплохая с исходником. гугл найдет : http://www.google.com/search?client=opera&...-8&oe=utf-8 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Pulse69 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 28.4.2006 Где: Хабаровск Репутация: 8 Всего: 10 |
Есть альтернативный вариант - getaddrinfo, которая получает полный список IP-адресов машины. SNMP для простого опрделения IP-адреса похоже на перебор.
--------------------
Ctrl+Alt+Reset |
|||
|
||||
| EnergoHokum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: 3 Всего: 6 |
Ага, пасибо! Стал ковыряться в книге "Сетевое программирование для UNIX" -- раскопал там эту функцию (getaddrinfo). А Winsock считаю неродным для винды потому, что он нагло спёрт у *BSD, да и костыли видны: WSAStartup, WSACleanup.
|
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
||||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |