Определение Ipшника

  • Автор темы alik86
  • Дата начала
A

alik86

Доброго времени, дамы и господа!
Нужна возможность определить IP компа (кнопка на форме, которая при нажатии выдаст пользователю msgbox с IP компьютера за которым он сидит).
Можно ли это сделать, и если это можно, то как?
P.S. Желательно обойтись малой кровью: LS или @... :)
 
K

Klido

с полгода назад аналогичная тема была...
принципиально - подключить виндовое API и взять всё что угодно от компа :)
в инете (sandbox, openntf) есть полно примеров - класс вроде зовут SysInfo

Добавлено: например тут
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
выполник команду на клиенте: ipconfig и спи спокойно :)
 
A

alik86

Да я бы выполнил, но это не моя хотелка... :)
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
alik86
так ты скриптом её и выполни на вход в базу, постопен или кнопу, в общем в нужном месте
 
A

azat20

Код:
Set WSHNetwork = CreateObject("WScript.Network")
strDomain = WSHNetwork.UserDomain
strUserName = WSHNetwork.UserName
strComputerName = WSHNetwork.ComputerName
Set IPConfigSet =GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
Forall IPConfig In IPConfigSet
If Not Isnull(IPConfig.IPAddress) Then
For i=Lbound(IPConfig.IPAddress) To Ubound(IPConfig.IPAddress)
If strIPAddress = "" Then
strIPAddress = IPConfig.IPAddress(i)
Else
strIPAddress = strIPAddress & ", " & IPConfig.IPAddress(i)
End If
Next
End If
End Forall
doc.whouch=strUserName
doc.whodom=strDomain
doc.whocomp=strComputername
doc.whoip=strIPAddress
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472


 
A

alik86

Извиняюсь за беспокойство, уже все нашел, причем тут же ;)
Пока сделал через WSH, вроде работает...

так ты скриптом её и выполни на вход в базу, постопен или кнопу, в общем в нужном месте
Оо Ояе... всмысле не представляю как это сделать... Как это?

Всем спасибо за предоставленную почву для размышлений - начинаю исследование остальных вариантов (глядишь и мозгов прибавится ;))
P.S. Малой кровью обойтись таки не удалось... Ну ничего, мне полезно...
 
A

azat20

тебе нужен только IP?
тогда создай кнопку,и закинь туда код:
Код:
dim WSHNetwork as Variant
dim IPConfigSet as Variant
dim strIPAddress as String
Set WSHNetwork = CreateObject("WScript.Network")
Set IPConfigSet =GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
Forall IPConfig In IPConfigSet
If Not Isnull(IPConfig.IPAddress) Then
For i=Lbound(IPConfig.IPAddress) To Ubound(IPConfig.IPAddress)
If strIPAddress = "" Then
strIPAddress = IPConfig.IPAddress(i)
Else
strIPAddress = strIPAddress & ", " & IPConfig.IPAddress(i)
End If
Next
End If
End Forall
Print(strIPAddress)
 
A

Akupaka

lmike
никто не хочет тебя слушать...
а я вот сам только что попытался на яве черел LS2J мост сваять ;)
две минуты и адрес готов, без знания жавы ;)
потом начал переделывать и застрял на элементарном ))
как byte в char перегнать? т.е. как 56 преобразовать в "56"? и не могу нарыть нормальный легкий пример... или это не так легко? )
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472
народ проявляет странную упертость и готов на любые костыли ;), даже имея под рукой мощный и достаточно удобный бридж...
по вопросу - всё элементарно ;)
во-первых - это не char, а строка (то что у тя написано)
во-вторых - есть классы, а не простые типы...
byte и Byte
int и Integer
long и Long
и т.п.
конструктор и далее toString()
Код:
byte b=56;
System.out.println( (new Byte(b)).toString());
первоисточник



на будущее

там конструкторы из чё хош, в том числе - с указанием кодировки

для контектации строк - StringBuffer - скорость и экономия памяти, а то есть любители обвинить java в медлительности ;) (а часто - корявый код)
 
H

hosm

может, в отдельную тему - ликбез по java ;) ? "мелкие вопросы" по java... а вообще - спб за инфу.
 
T

turumbay

есть любители обвинить java в медлительности ;) (а часто - корявый код)
насчет медлительности - любители однозначно правы. без доработки продукта напильником работает ужасающе медленно.
До r8 в ln по дефолту отключен just-in-time compiler. В результате код, запущенный в клиенте выполняется в несколько ( по ощущениям - в пять(!!!) ) раз медленней, чем тот же код, запущенный напрямую: %lotushome%/jvm/bin/java.exe имя_класса.
Включение JIT ( производица вручную в notes.ini JavaEnableJIT=1 на страх и риск включающего ) в корне меняет скорость работы.
Радость омрачает только заявление IBM об отказе от отвественности:
Caution: JIT functionality can be unstable and lead to unexpected crashes.
С другой стороны, переход на восьмерку решает все проблемы с производительностью java - кода, а появление xpages - это вообще бомба, которую многие еще не оценили.
- сулит полный отказ от использования агентов, ( появление кэша уровня приложения - сохранение состояний между вызовами ).
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472
я ваще не юзаю 8-ку на клиенте (а на серверах тока думаю), и скорее всего не буду юзать...
либо допилят до нормального состояния, либо нотус умрёт ;)
8-ка, в тек. виде - просто неприемлимо, хуже релизов я ещё не видел
я грю про java как платформу, а не то - что с ней ИБМ сделало

последнее время оно (ИБМ) мне тока и "омрачает радость"
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!