Orion9

|
Posted: Thu Feb 20, 2025 00:21 Post subject: |
|
|
Loopback
Спасибо за уточнения!
Я тоже сразу не догадался проверить в TC x64, но потом обнаружил, что там ничего не работает, т.е. в трее иконка не появляется. Но хорошо, что вы всё поправили и объяснили. Сколько всяких сложностей-то. Это тебе не хухры-мухры
Кстати, по поводу сетевого интерфейса. Как вариант, можно сделать выбор из меню.
На основе вашего примера в справке GetDriverList:
 Hidden text Code: | Global NetworkInterface
Global aNetworkInterfaces = List()
RegisterCommand 80010 "GetNetworkInterface"
RegisterCommand 80011 "SetNetworkInterface" 1
RegisterCommand 80012 "SetNetworkInterface" 2
RegisterCommand 80013 "SetNetworkInterface" 3
RegisterCommand 80014 "SetNetworkInterface" 4
RegisterCommand 80015 "SetNetworkInterface" 5
Func GetNetworkInterface(lParam)
Runthread GetNetworkInterfaceList
EndFunc
Func GetNetworkInterfaceList()
Local wq = WMIQuery()
wq.Query('SELECT * FROM Win32_PerfRawData_Tcpip_NetworkInterface')
aNetworkInterfaces.Count = 0
While wq.Next()
aNetworkInterfaces.Add(wq.GetValue("Name"))
Wend
Free(wq)
If aNetworkInterfaces.Count = 0 Then
MsgBox("Не найден сетевой интерфейс", "NetworkInterface", 48)
Return
EndIf
ShowPopupMenu /D /F "NetworkInterfacesMenu"
EndFunc
Func NetworkInterfacesMenu()
Local i, txt
For i = 0 To aNetworkInterfaces.Count - 1
txt = txt & 'MENUITEM "' & aNetworkInterfaces[i] & '\t' & i & '", 800' & 11+i & auCRLF
Next
txt = txt & 'MENUITEM SEPARATOR' & auCRLF
txt = txt & 'MENUITEM "Обновить", 80010' & auCRLF
Return txt
EndFunc
Func SetNetworkInterface(lParam, nItem)
NetworkInterface = aNetworkInterfaces[nItem - 1]
MsgBox("Cетевой интерфейс - " & NetworkInterface, "NetworkInterface", 64)
EndFunc |
А потом в запросе имя переменной NetworkInterface подставлять. Но это я еще не успел доделать. |
|