oldTV писал(а):
А как это выглядит в коде Hiasm?Вот так должно работать:
Ответов: 2125
Рейтинг: 159
|
|||
oldTV писал(а): А как это выглядит в коде Hiasm?Вот так должно работать: |
|||
карма: 1 |
| ||
файлы: 1 | code_257.txt [1.1KB] [504] |
Ответов: 689
Рейтинг: 20
|
|||
а как использовать совместно с Ping? так может побыстрее будет, а то больно медленный код.
Кстати объяснил бы как он это делает, если не трудно. Все равно за код отдельное спасибо. Иногда очень нужно. |
|||
карма: 0 |
|
Ответов: 376
Рейтинг: 1
|
|||
oldTV, это:
ну вот не поворачивается у меня язык сказать: "ходи по шагам "
Плохо это.... Может, ну их нафиг все эти менеджеры: отладочный режим - вот ключ к пониманию функционирования HiAsm Если его довести до КРАСИВОГО состояния.... или это: Обычно я вижу несколько альтернатив (возможно - в отличии от других). И, представляется мне, что имею право НЕ угадывать мысли автора (среди этих альтернатив) о целях не работающего примера.
Которого кстати давно не было...
Не поверишь, идеи кончились. Мне показалось, что я уже всё описал. Хотя это только показалось И вообще я думаю, что в программировании на HiAsm назревает какой-то кризис. Осень - время перемен к лучшему. Может попозже поговорю с вами на эту тему, если конечно время будет и у вас и у меня. |
|||
карма: 1 |
|
Ответов: 2125
Рейтинг: 159
|
|||
oldTV писал(а): а как использовать совместно с Ping? так может побыстрее будет, а то больно медленный код. |
|||
карма: 1 |
|
Ответов: 689
Рейтинг: 20
|
|||
Обычно я вижу несколько альтернатив (возможно - в отличии от других). И, представляется мне, что имею право НЕ угадывать мысли автора (среди этих альтернатив) о целях не работающего примера.
Я был поражен этим. Очень красиво. По поводу HiAsm Big FAQ: я предлагаю в него начать включать целые разделы, ну например, работа с компонентом Ping, или работа с компонентом StringTable и туда, в раздел, включать примеры. Кстати работу с SystemTray тоже можно давно в раздел отдельный включить. Лично я твоим HBFAQ обогатился сильно. 2tsdima, я так понял у тебя было так: ты хисмовским пингом пинговал адрес, получал ответ - пингуется, т.е. тот же адрес (это быстро), далее, если пингуется, посылал адрес в IM. вот тут как раз и вопрос: каким образом этот код получает имя, зная адрес? Я тебе честно скажу, я не понимаю как. Используя AD? API (видимо да)? Другими словами: как получить имя без твоего кода в Windows например, через WMI или через стандартные средства? Если возможно через WMI, то как? Я вот это не понимаю. Если не трудно, разбери код по строчкам. |
|||
карма: 0 |
|
Ответов: 2125
Рейтинг: 159
|
|||
как получить имя без твоего кода в Windows например, через WMI или через стандартные средства Стандартные средства Windows - это как-раз таки API. В данном случае API библиотеки Winsock.
begin
if WSAStartup($101,lwsaData) = 0 then begin // инициализация WinSock Api addr := inet_addr(PChar(ToString(dt))); // преобразование строки адреса в 4-х байтовый IP e := gethostbyaddr(@addr,4,AF_INET); // запрос информации о хосте с указанным IP if Assigned(e) then // если хост с таким IP найден _hi_OnEvent(onHostName, string(e.h_name)); // вызываем событие с именем хоста WSACleanUp; // завершение работы с Winsock end; end; Используемые функции библиотеки Winsock: WSAStartup,WSACleanUp,inet_addr, и наконец, функция gethostbyaddr, ради которой всё это и городилось |
|||
карма: 1 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Пример CPU Remote Usage содержит обращение к удалённому компьютеру через WMI на получение его имени. Однако таким способом нельзя узнать имя произвольного компа в сети. Существует модификация этого примера для получения статуса процессоров на N компьтерах. В нём встроена функция ping для проверки наличия компьютера в сети в данный момент. Если интересно - пишите письма.
|
|||
карма: 6 |
|
Ответов: 689
Рейтинг: 20
|
|||
Интересно. Nic, если не трудно, давай устроим специфическую переписку здесь. Хочу получить hostname, зная hostnameIP. Быстрее чем код tsdima, он, его код, медленный. WMI видимо подойдет, но я не могу понять как. Правда, если не трудно, распиши код пошагово. Ты мне очень часто помогал, очень продуктивно, я хочу этот, давний, вопрос, закрыть.
как наиболее быстро получить hostname зная hostnameIP? [size=-2]------ Добавлено в 20:48 P.S. позвони админу не есть правильный ответ |
|||
карма: 0 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
1. Запускаешь пример.
2. В поле Edit вводишь IP. 3. Нажимаешь каппу Start. 4. Над графиком видишь имя компа и количество его процессоров. 5. Затем смотришь схему. Пока к WMI можно обратиться только через VBJScript. 6. Копируешь его к себе в схему. 7. Используешь его как тебе необходимо. P.S. Не забудь записаться на другом компе в группу локальных админов. А вот тренироваться можешь и на своём. Оставь в поле Edit одну только точку - это что-то вроде localhost для WMI. Удачи! |
|||
карма: 6 |
|
Ответов: 689
Рейтинг: 20
|
|||
Спасибо, Nic, я немного модифицировал скрипт, проверь пожалуйста, верно ли?
Ниже схема со скриптом: code_265 Этот код значительно быстрее чем через WinSock API. Но работать я так понял он будет там, где есть WMI (т.е. на WinNT 4.0 - не факт что будет), ну и если не добавлен как пользователь в группу Администраторов, то тоже не факт что будет (пока проверить не могу, на работе XP упала). |
|||
карма: 0 |
| ||
файлы: 1 | code_265.txt [1.2KB] [566] |
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
oldTV, Версии WMI существуют для всех Windows кроме версий 3.хх и ниже. Если установить на NT4.0 и прописаться в группу администраторов, то скорее всего работать будет, хотя с NT не работал, знакомство с WMI моё состоялось недавно на базе W2K Server и конечно длагодаря VBJScript компоненту.
P.S. Ваш пример чуть подчистил на предмет корректности подключения к удалённой машине: code_269 |
|||
карма: 6 |
| ||
файлы: 1 | code_269.txt [1.1KB] [634] |
Ответов: 689
Рейтинг: 20
|
|||
Nic, вот почему-то по поводу WMI у меня осело, что в NT4.0 его до какого-то SP нет. Проверим.
С точки зрения корректности подключения к удаленной машине я бы использовал вот такой немного модифицированный код: code_271 |
|||
карма: 0 |
| ||
файлы: 1 | code_271.txt [1.6KB] [554] |
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
oldTV, говоря о существовании WMI под ранние Windows, совсем не имел в виду их наличие в дистрибутиве и сервис-паках. WMI родился позже этих ОС и был выпущен отдельными пакетами для них.
|
|||
карма: 6 |
|