Вверх ↑
Этот топик читают: Гость
Ответов: 200
Рейтинг: 1
#1: 2025-01-25 11:21:29 ЛС | профиль | цитата
не могу найти компонента. задача изменять настройки TCPIP
карма: 0

0
Ответов: 322
Рейтинг: 27
#2: 2025-01-25 15:49:08 ЛС | профиль | цитата
За тобой уже выехали.
Всё подробно расскажут
карма: 2
0
Ответов: 806
Рейтинг: 174
#3: 2025-01-25 17:01:53 ЛС | профиль | цитата
z80 писал(а):
не могу найти компонента. задача изменять настройки TCPIP

Изучаем команду netsh
Пример

netsh interface ipv4 set address name="Подключение по локальной сети" source=static addr=192.168.0.58 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=1

Как всё это засунуть в WinExec надо расказывать?
карма: 16

1
Голосовали:z80
Ответов: 200
Рейтинг: 1
#4: 2025-01-26 13:46:02 ЛС | профиль | цитата
Gunta писал(а):
Изучаем команду netsh

спасибо. не знал , что так можно. Подскажите как быть, если у меня скажем три сетевых адаптера? хочу сделать так, что бы выводился их список и можно было выбрать для какого адаптера менять настройки
карма: 0

0
Ответов: 806
Рейтинг: 174
#5: 2025-01-26 14:39:29 ЛС | профиль | цитата
z80 писал(а):
Подскажите как быть, если у меня скажем три сетевых адаптера?

Если надо найти только имя сетевого интерфейса, то это можно сделать той же командой.

Add(MainForm,2953706,119,119)
{
Width=803
Height=274
link(onCreate,5447582:doConsoleExec,[])
}
Add(WinExec,5447582,168,119)
{
FileName="netsh"
Param="interface show interface"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
Point(onConsoleTerminate)
link(onConsoleResult,5372131:doCharset,[])
}
Add(Charset,5372131,217,133)
{
link(onCharset,10263349:doAdd,[])
}
Add(Memo,10263349,266,133)
{
Width=787
Height=235
Align=5
Font=[Lucida Console,12,0,0,204]
ScrollBars=3
}

Или с помощью Powershell

Add(MainForm,8845070,182,168)
{
Width=1183
Height=201
Point(onClose)
link(onCreate,5447582:doConsoleExec,[])
link(onClose,5447582:doConsoleTerminate,[])
}
Add(WinExec,5447582,238,168)
{
FileName="powershell"
Param="-Command Get-NetAdapter -Physical"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
Point(onConsoleTerminate)
Point(doConsoleTerminate)
link(onConsoleResult,14369307:doWork2,[])
link(onConsoleError,7606120:doWork2,[])
link(onConsoleTerminate,7606120:doWork3,[(291,202)])
}
Add(Memo,14325343,364,182)
{
Width=1167
Height=162
Align=5
Font=[Lucida Console,12,0,0,204]
ScrollBars=3
}
Add(Charset,5372131,308,182)
{
link(onCharset,14325343:doAdd,[])
}
Add(HubEx,14369307,287,182)
{
link(onEvent,5372131:doCharset,[])
}
Add(HubEx,7606120,287,189)
{
Angle=3
link(onEvent,14369307:doWork3,[])
}


Напрямую из реестра

Add(MainForm,12315819,35,70)
{
Width=510
Height=561
link(onCreate,9412585:doEnumKeys,[])
}
Add(Registry,9412585,91,70)
{
HKey=2
Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards"
Point(doEnumKeys)
Point(onEnumKey)
Point(doEnumValues)
Point(onEnumValue)
link(onEnumKey,4219004:doStrCat,[])
}
Add(Registry,11427169,196,77)
{
HKey=2
Value="Description"
Point(doEnumKeys)
Point(onEnumKey)
Point(doEnumValues)
Point(onEnumValue)
link(onRead,12798024:doRead,[])
link(Key,8954820:Var2,[])
}
Add(StrCat,4219004,140,77)
{
Str1="SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\"
link(onStrCat,11427169:doRead,[])
}
Add(Registry,12798024,245,77)
{
HKey=2
Value="ServiceName"
Point(doEnumKeys)
Point(onEnumKey)
Point(doEnumValues)
Point(onEnumValue)
link(onRead,1758079:doAdd,[])
link(Key,8954820:Var3,[(258,68)])
}
Add(GetDataEx,8954820,203,63)
{
Angle=3
link(Data,4219004:Result,[(188,68)(188,117)(146,117)])
}
Add(MTStrTbl,3467787,28,175)
{
Width=494
Height=99
Align=2
Name="tabl"
Columns=#1:1|
ColorItems=0
Redaction=0
Style=4
Grid=0
link(onClick,15637679:doEvent1,[])
}
Add(MT_Add,1758079,301,77)
{
InputMT=1
link(onAdd,2450731:doRowAction,[])
link(Data,11427169:RData,[(307,68)(293,68)(293,117)(202,117)])
}
Add(MST_RowAction,2450731,357,77)
{
MSTControl="tabl"
link(onChange,582143:doColAction,[])
}
Add(MST_ColAction,582143,413,77)
{
Action=11
MSTControl="tabl"
}
Add(MT_Part,7927464,126,182)
{
Point(Data)
link(onSplit,11296418:doStrCat,[])
link(Data,3467787:Select,[(132,173)(118,173)(118,215)(34,215)])
}
Add(Registry,7275228,245,161)
{
HKey=2
Point(doEnumKeys)
Point(onEnumKey)
Point(doEnumValues)
Point(onEnumValue)
link(onRead,10066820:doString,[])
link(Key,11296418:Result,[(258,152)(237,152)(237,222)(181,222)])
link(onEnumValue,13057681:doValue,[])
}
Add(StrCat,11296418,175,182)
{
Str1="SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"
link(onStrCat,7275228:doEnumValues,[])
}
Add(Memo,13696162,441,161)
{
Top=99
Width=494
Height=423
Align=5
Font=[Lucida Console,12,0,0,204]
ScrollBars=3
}
Add(Hub,15637679,84,175)
{
link(onEvent1,13696162:doClear,[(109,181)(109,146)(459,146)(459,174)])
link(onEvent2,7927464:doSplit,[])
}
Add(FormatStr,10066820,378,161)
{
Mask="%1 : %2"
link(onFString,13696162:doAdd,[])
link(Str1,13057681:Value,[(384,152)(370,152)(370,215)(314,215)])
}
Add(Memory,13057681,308,175)
{
link(onData,7275228:doRead,[(347,181)(347,139)(228,139)(228,167)])
}

карма: 16

1
Голосовали:z80
Ответов: 200
Рейтинг: 1
#6: 2025-01-26 15:42:46 ЛС | профиль | цитата
Блин не получается у меня имена вытащить из потока данных для списка карт.
карма: 0

0
Ответов: 806
Рейтинг: 174
#7: 2025-01-26 15:56:37 ЛС | профиль | цитата
z80 писал(а):
Блин не получается у меня имена вытащить из потока данных для списка карт.


Add(MainForm,8845070,203,119)
{
Width=401
Height=142
Point(onClose)
link(onCreate,14132002:doString,[])
link(onClose,5447582:doConsoleTerminate,[])
}
Add(WinExec,5447582,315,119)
{
FileName="powershell"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
Point(onConsoleTerminate)
Point(doConsoleTerminate)
link(onConsoleResult,15992500:doWork2,[])
link(onConsoleError,15992500:doWork3,[(368,146)])
}
Add(Memo,14325343,441,133)
{
Width=385
Height=103
Align=5
Font=[Lucida Console,12,0,0,204]
ScrollBars=3
}
Add(Charset,5372131,385,133)
{
link(onCharset,14325343:doAdd,[])
}
Add(FormatStr,14132002,259,133)
{
Mask="$netadapfer = (Get-NetAdapter -Physical | Out-GridView -PassThru -Title 'Выбрать сетевой адаптер и нажать OK')\r\n$netadapfer.Name"
link(onFString,5447582:doConsoleExec,[])
}
Add(HubEx,15992500,364,133)
{
link(onEvent,5372131:doCharset,[])
}

карма: 16

1
Голосовали:z80
Ответов: 200
Рейтинг: 1
#8: 2025-01-26 18:07:00 ЛС | профиль | цитата
блин ошибка 267

Add(MainForm,8845070,483,210)

{
Width=848
Height=449
Point(onClose)
link(onCreate,14132002:doString,[(537,230)(537,181)])
link(onClose,2099341:doEvent1,[])
}
Add(WinExec,5447582,616,161)
{
FileName="powershell"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
Point(onConsoleTerminate)
Point(doConsoleTerminate)
link(onConsoleResult,15992500:doWork2,[])
link(onConsoleError,15992500:doWork3,[(662,188)])
}
Add(Charset,5372131,679,175)
{
link(onCharset,13074063:doValue,[])
}
Add(FormatStr,14132002,546,175)
{
Mask="$netadapfer = (Get-NetAdapter -Physical Out-GridView -PassThru -Title 'SELECT adapter or click OK')\r\n$netadapfer.Name"
link(onFString,5447582:doConsoleExec,[])
}
Add(HubEx,15992500,658,175)
{
link(onEvent,5372131:doCharset,[])
}
Add(StrCat,1206067,749,259)
{
Str1="interface ip set address name=""
link(onStrCat,13186594:doStrCat,[(793,265)(793,297)(737,297)(737,321)])
}
Add(Memory,13074063,756,175)
{
link(onData,9859098:doWork1,[(828,181)])
}
Add(StrCat,13186594,749,315)
{
Str2="" static 192.168.110.120 255.255.255.0 192.168.100.1"
link(onStrCat,12069332:doConsoleExec,[(793,321)(793,359)(709,359)(709,433)])
link(Str1,1206067:Result,[])
}
Add(GetDataEx,14946675,749,357)
{
}
Add(Message,1208244,826,378)
{
}
Add(HubEx,9167169,789,322)
{
Angle=1
}
Add(Delete,7418059,896,224)
{
Count=2
Direction=1
link(onDelete,1206067:doStrCat,[(940,230)(940,248)(737,248)(737,265)])
link(Str,13074063:Value,[(902,216)(762,216)])
}
Add(HubEx,9859098,824,224)
{
link(onEvent,7418059:doDelete,[])
}
Add(Hub,2099341,588,231)
{
link(onEvent1,5447582:doConsoleTerminate,[(613,237)(613,188)])
link(onEvent2,12069332:doConsoleTerminate,[(665,244)(665,440)])
}
Add(HubEx,4954992,796,385)
{
Angle=3
link(onEvent,1208244:doMessage,[(800,384)])
}
Add(WinExec,12069332,721,413)
{
FileName="netsh"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
Point(onConsoleTerminate)
Point(doConsoleTerminate)
Point(onErrorExec)
Point(doConsoleInput)
link(Params,13186594:Result,[(734,362)(755,362)])
link(onConsoleResult,4954992:doWork2,[(775,433)(775,391)])
link(onErrorExec,4954992:doWork3,[(800,454)])
}
|

Редактировалось 2 раз(а), последний 2025-01-26 18:08:20
карма: 0

0
Ответов: 806
Рейтинг: 174
#9: 2025-01-26 18:57:18 ЛС | профиль | цитата
z80, У тебя небольшая ошибка в строке параметров. Вот так работает.
Add(MainForm,8845070,161,63)
{
Width=848
Height=449
Point(onClose)
link(onCreate,5447582:doConsoleExec,[])
}
Add(WinExec,5447582,210,63)
{
FileName="powershell"
Param="-Command (Get-NetAdapter -Physical | Out-GridView -PassThru -Title 'Выбрать сетевой адаптер и нажать OK').Name"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
Point(onConsoleTerminate)
link(onConsoleResult,5372131:doCharset,[])
}
Add(Charset,5372131,266,77)
{
link(onCharset,8122592:doTrim,[])
}
Add(WinExec,12069332,434,70)
{
FileName="netsh"
Mode=0
Action="runas"
link(onExec,11205970:doDeferredEvent,[])
link(Params,1259176:FString,[(447,61)(426,61)(426,117)(377,117)])
}
Add(FormatStr,1259176,371,77)
{
DataCount=1
Mask="interface ipv4 set address name="""%1""" static 192.168.110.120 255.255.255.0 192.168.100.1 1"
Point(FString)
link(onFString,12069332:doShellExec,[])
}
Add(Trim,8122592,315,77)
{
Mode=7
link(onTrim,1259176:doString,[])
}
Add(DeferredEvent,11205970,483,70)
{
Delay=1000
link(onDeferredEvent,8845070:doClose,[(522,76)(522,55)(151,55)(151,90)])
}




Редактировалось 2 раз(а), последний 2025-01-26 19:05:13
карма: 16

1
Голосовали:z80
Ответов: 806
Рейтинг: 174
#10: 2025-01-27 08:16:28 ЛС | профиль | цитата
z80, Вот вариант попроще
Add(MainForm,8845070,49,112)
{
Width=848
Height=449
Point(onClose)
link(onCreate,9151327:doString,[])
}
Add(WinExec,5447582,280,119)
{
FileName="powershell"
WorkingDir="."
Mode=0
Action="runas"
link(onExec,11205970:doDeferredEvent,[])
link(Params,480913:TempFName,[(293,110)(272,110)(272,166)(237,166)])
}
Add(DeferredEvent,11205970,343,119)
{
Delay=1000
link(onDeferredEvent,8845070:doClose,[(382,125)(382,174)(39,174)(39,139)])
}
Add(TempFileStream,480913,231,126)
{
Extention=".ps1"
link(onCreate,5447582:doShellExec,[])
}
Add(StreamConvertor,2486146,175,126)
{
Mode=7
Point(Data)
link(onResult,480913:doCreate,[])
}
Add(FormatStr,9151327,112,126)
{
DataCount=3
Mask="$netadapfer = (Get-NetAdapter -Physical | Out-GridView -PassThru -Title 'Выбрать сетевой адаптер и нажать OK')\r\n$Index = $netadapfer.ifIndex\r\n\r\nSet-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\$((Get-NetAdapter -InterfaceIndex $Index).InterfaceGuid)" -Name EnableDHCP -Value 0 -Force\r\nRemove-NetIpAddress -InterfaceIndex $Index -AddressFamily IPv4 -Confirm:$false\r\nRemove-NetRoute -InterfaceIndex $Index -AddressFamily IPv4 -Confirm:$false \r\nNew-NetIpAddress -InterfaceIndex $Index -IpAddress %1 -PrefixLength 24 -DefaultGateway %2 -AddressFamily IPv4 -Confirm:$false\r\nSet-DnsClientServerAddress -InterfaceIndex $Index -ServerAddresses '%3' -Confirm:$false\r\n"
link(onFString,2486146:doConvert,[])
link(Str1,1053997:Text,[])
link(Str2,5191673:Text,[(125,68)(132,68)])
link(Str3,8423111:Text,[(132,89)(146,89)])
}
Add(VisualStrings,1053997,112,21)
{
@Hint=#10:Ip Address|
Lines=#12:192.168.9.10|
Width=88
AddHint(132,-2,65,13,@Hint)
}
Add(VisualStrings,5191673,126,42)
{
@Hint=#15:Default Gateway|
Lines=#11:192.168.9.1|
Width=74
AddHint(119,0,94,13,@Hint)
}
Add(VisualStrings,8423111,140,63)
{
@Hint=#10:Dns Server|
Lines=#7:8.8.8.8|
Width=60
AddHint(105,4,68,13,@Hint)
}


Редактировалось 1 раз(а), последний 2025-01-27 08:19:33
карма: 16

1
Голосовали:z80
Ответов: 200
Рейтинг: 1
#11: 2025-01-27 19:27:37 ЛС | профиль | цитата
Может подскажете еще как реализовать поле ввода для айпи как на картинке?. т е как в виндовс. что бы можно было вводить только цифры и автоматом точки стояли через каждые три цифры

Редактировалось 1 раз(а), последний 2025-01-27 22:18:53
карма: 0

0
Ответов: 806
Рейтинг: 174
#12: 2025-01-27 22:35:35 ЛС | профиль | цитата
z80 писал(а):
Может подскажете еще как реализовать поле ввода для айпи как на картинке?. т е как в виндовс. что бы можно было вводить только цифры и автоматом точки стояли через каждые три цифры

Можно воспользоваться вот этим компонентом
https://forum.hiasm.com/topic/65657
Или нарисовать самому

Add(MainForm,2953706,84,105)
{
}
Add(ChildPanel,13217504,161,105)
{
}
BEGIN_SDK
Add(EditMulti,5978035,21,21)
{
EventCount=1
WorkCount=1
VarCount=1
Width=395
Height=351
VOffset=273
HOffset=84
link(doWork1,16301099:doString,[])
link(Var1,16301099:FString,[])
}
Add(Panel,2771530,35,105)
{
Left=15
Top=20
Width=235
Height=24
}
Add(Edit,14375938,105,98)
{
Align=1
Font=[Lucida Console,12,1,0,204]
WinStyle=1
Text=""
Alignment=2
DataType=2
MaxLenField=3
ClearAfterEnter=1
link(onChange,11014327:doCompare,[])
}
Add(Label,5422496,35,28)
{
Left=112
Top=2
Width=1
Height=20
Align=1
Color=16777215
Font=[Lucida Console,12,1,0,204]
Caption="."
Alignment=2
}
Add(Edit,9313454,154,147)
{
Align=1
Font=[Lucida Console,12,1,0,204]
WinStyle=1
Text=""
Alignment=2
DataType=2
MaxLenField=3
ClearAfterEnter=1
link(onChange,6649673:doCompare,[])
}
Add(Label,9250038,84,28)
{
Left=217
Top=2
Width=1
Height=20
Align=1
Color=16777215
Font=[Lucida Console,12,1,0,204]
Caption="."
Alignment=2
}
Add(Edit,15584030,189,189)
{
Align=1
Font=[Lucida Console,12,1,0,204]
WinStyle=1
Text=""
Alignment=2
DataType=2
MaxLenField=3
ClearAfterEnter=1
link(onChange,9062153:doCompare,[])
}
Add(Label,5526906,126,28)
{
Left=322
Top=2
Width=5
Height=20
Align=1
Color=16777215
Font=[Lucida Console,12,1,0,204]
Caption="."
Alignment=2
}
Add(Edit,793270,231,238)
{
Align=1
Font=[Lucida Console,12,1,0,204]
WinStyle=1
Text=""
Alignment=2
DataType=2
MaxLenField=3
ClearAfterEnter=1
link(onChange,9400180:doCompare,[])
}
Add(If_else,9400180,280,238)
{
Type=2
Op2=Integer(255)
link(onTrue,7091017:doData,[])
}
Add(DoData,7091017,329,238)
{
link(onEventData,793270:doText2,[(375,244)(375,230)(221,230)(221,251)])
}
Add(If_else,9062153,238,189)
{
Type=2
Op2=Integer(255)
link(onTrue,1326251:doData,[])
}
Add(DoData,1326251,287,189)
{
link(onEventData,15584030:doText2,[(326,195)(326,181)(179,181)(179,202)])
}
Add(If_else,6649673,203,147)
{
Type=2
Op2=Integer(255)
link(onTrue,11310243:doData,[])
}
Add(DoData,11310243,252,147)
{
link(onEventData,9313454:doText2,[(291,153)(291,139)(144,139)(144,160)])
}
Add(If_else,11014327,154,98)
{
Type=2
Op2=Integer(255)
link(onTrue,7887810:doData,[])
}
Add(DoData,7887810,203,98)
{
link(onEventData,14375938:doText2,[(242,104)(242,90)(95,90)(95,111)])
}
Add(FormatStr,16301099,105,294)
{
DataCount=4
Mask="%1.%2.%3.%4"
Point(FString)
link(onFString,5978035:onEvent1,[])
link(Str1,14375938:Text,[])
link(Str2,9313454:Text,[(118,187)(160,187)])
link(Str3,15584030:Text,[(125,229)(195,229)])
link(Str4,793270:Text,[(132,278)(237,278)])
}
END_SDK

карма: 16

1
Голосовали:z80
Ответов: 322
Рейтинг: 27
#13: 2025-01-28 10:37:51 ЛС | профиль | цитата
Вот может поможет https://forum.hiasm.com/getfile/39707


Редактировалось 1 раз(а), последний 2025-01-28 10:38:57
карма: 2
1
Голосовали:z80
13
Сообщение
...
Прикрепленные файлы
(файлы не залиты)