Hallo AutoItler,
Ich würde gerne dieses Fenster mit hilfe von Autoit öffnen, wenn es möglich wäre ohne ControlClick()etc..
[Blockierte Grafik: http://img195.imageshack.us/img195/941/drahtlosenetzwerkverbin.th.jpg]
Lg & Danke
Tim
Hallo AutoItler,
Ich würde gerne dieses Fenster mit hilfe von Autoit öffnen, wenn es möglich wäre ohne ControlClick()etc..
[Blockierte Grafik: http://img195.imageshack.us/img195/941/drahtlosenetzwerkverbin.th.jpg]
Lg & Danke
Tim
Ein direkter Zugang ist mir nicht bekannt. Aber zumindest in die Netzwerkverbindungen kommst du direkt mit: Run('control.exe NCPA.CPL')
Hi BugFix,
Danke für die schnelle Antwort!
Das ist doch schon mal ein erster Schritt!
Hat jemand noch eine Idee?
Mfg Tim
So wie BugFix schon sagte so kannst du sie dir nicht ausgeben lassen aber Ausführen CMD {enter} ipconfig /all rein {enter} und schon hast du deine Netzwerkverbindungen!
Und diesen kannst du mit Autoit automatisieren oder du schreibst eine Batch muss blos pause hinten ran ansonsten fenster wieder zu!
LG kleiner
Z.B kannst du dir den text ausgeben lassen suchen im text nach Dratlose Netzwerkverbindungen und mit den hilfe datein von autoit realisieren!
1. _GUICtrlListView_UnRegisterSortCallBack.au3
2. _GUICtrlListView_SetGroupInfo.au3
Ist jetzt nur mal eine Idee kam ich gerade drauf wo ich dein post sah!
LG Kleiner
Per WMI kann man auch sehr gut die Netzwerkverbindungen abfragen.
Hi, hilft das weiter?
#include <Array.au3>
#include <GUIConstantsEx.au3>
Opt('MustDeclareVars', 1)
[/autoit] [autoit][/autoit] [autoit]Local $msg, $Input1, $Input2, $Beenden
local $lan_IP="nicht feststellbar"
local $wlan_IP="nicht feststellbar"
dim $a[1][1]
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=
GUICreate("Form1", 263, 187, 390, 114)
$a = _GetAllNetAdapterInfo() ;alle Adapterinfos aus der Registry auslesen und in ein Array schreiben
if not isarray($a) Then ; wenn es keine Netzwerkadapter gibt, programm beenden
msgbox(1,"Fehler", "Es können keine Netzwerkadapter festgestellt werden!"&@crlf&"Programm wird beendet!")
Exit
endif
_ArrayDisplay($a) ;auskommentieren wenn nicht benötigt!
[/autoit] [autoit][/autoit] [autoit]For $i =1 to $a[0][0] ;alle adapter durchsuchen
if $a[$i][1]="LAN-Verbindung" then $lan_IP=$a[$i][5] ;wenn in der 2. Spalte der String "LAN-Verbindung" vorkommt, dann die 5. Spalte merken
if $a[$i][1]="Drahtlose Netzwerkverbindung" then $wlan_IP=$a[$i][5] ;wenn in der 2. Spalte der String "Drahtlose Netzwerkverbindung" vorkommt, dann die 5. Spalte merken
next
$Input1 = GUICtrlCreateInput($lan_IP, 112, 28, 105, 21) ;hier die gedfundene IP eintragen
$Input2 = GUICtrlCreateInput($wlan_IP, 112, 69, 105, 21) ;hier die gedfundene IP eintragen
GUICtrlCreateLabel("LAN IP Adresse", 16, 32, 79, 17)
GUICtrlCreateLabel("WLAN IP Adresse", 16, 72, 90, 17)
$Beenden = GUICtrlCreateButton("Beenden", 40, 120, 177, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE Or $msg = $Beenden
ExitLoop
EndSelect
WEnd
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];######################################################################################################
;# Function Name: _GetAllNetAdapterInfo()
;# Description:: Auslesen aller vorhandenen Netzwerkadapter und deren Konfiguration
;# Parameter(s): keine
;# Requirement(s): keine
;# Return Value(s): Erfolg Array[0][0] Anzahl der Adapter
;# Array[n][0] Adapter Name (wie in Systemsteuerung ==> Netzwerkverbindungen)
;# Array[n][1] Adapter Beschreibung
;# Array[n][2] IP-Adresse
;# Array[n][3] SubNetMask
;# Array[n][4] DHCP-Enabled (0/1)
;# Array[n][5] DHCP IP-Adresse
;# Array[n][6] DHCP SubNetMask
;# Array[n][7] DHCP Default Gateway
;# Array[n][8] DHCP Server
;# Fehler Array[0][0] Leerstring (kein Adapter vorhanden)
;# Author(s): Bitboy, nach einer Idee von BugFix ([email='bugfix@autoit.de'][/email])
;######################################################################################################
Func _GetAllNetAdapterInfo()
Local $infoarr[1][9], $keyarr[1], $i = 0, $x = 0, $counter = 0, $tmp, $tmp2, $short
;Registrierte Adapter zählen
While 1
$i = $i + 1
$tmp = RegEnumKey("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services", $i)
If @error <> 0 Then ExitLoop
;Adapter sind in den einzigen Schlüsseln die mit "{" beginnen
If StringInStr($tmp, "{") Then
$short = 1 ;Merker zum Verkürzen der Schleife da Keys alphabetisch sortiert
$counter = $counter + 1
ReDim $keyarr[$counter + 1]
$keyarr[$counter] = $tmp ;Speichern der Adapterschlüssel
$keyarr[0] = $counter
Else
If $short = 1 Then ExitLoop
EndIf
WEnd
;Funktion verlassen wenn kein Adapter gefunden wurde
If $counter = 0 Then
$infoarr[0][0] = 0
Return $infoarr
EndIf
;Rückgabearray an Adapterzahl anpassen
ReDim $infoarr[$counter + 1][9]
$infoarr[0][0] = $counter
; TCP-Informationen auslesen
For $i = 1 To $counter
$infoarr[$i][2] = RegRead('HKLM\SYSTEM\CurrentControlSet\Services\' & $keyarr[$i] & '\Parameters\Tcpip', 'IPAddress')
$infoarr[$i][3] = RegRead('HKLM\SYSTEM\CurrentControlSet\Services\' & $keyarr[$i] & '\Parameters\Tcpip', 'SubnetMask')
$infoarr[$i][4] = RegRead('HKLM\SYSTEM\CurrentControlSet\Services\' & $keyarr[$i] & '\Parameters\Tcpip', 'EnableDHCP')
$infoarr[$i][5] = RegRead('HKLM\SYSTEM\CurrentControlSet\Services\' & $keyarr[$i] & '\Parameters\Tcpip', 'DhcpIPAddress')
$infoarr[$i][6] = RegRead('HKLM\SYSTEM\CurrentControlSet\Services\' & $keyarr[$i] & '\Parameters\Tcpip', 'DhcpSubnetMask')
$infoarr[$i][7] = RegRead('HKLM\SYSTEM\CurrentControlSet\Services\' & $keyarr[$i] & '\Parameters\Tcpip', 'DhcpDefaultGateway')
$infoarr[$i][8] = RegRead('HKLM\SYSTEM\CurrentControlSet\Services\' & $keyarr[$i] & '\Parameters\Tcpip', 'DhcpServer')
Next
;Adapternamen auslesen
$i = 1
$short = 0
While 1
$tmp = RegEnumKey("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}", $i)
If @error <> 0 Then ExitLoop
$tmp2 = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\" & $tmp, "NetCfgInstanceId")
For $x = 1 To $counter
;Zugeordnete Verbindung auslesen
$infoarr[$x][1] = RegRead('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\' & $keyarr[$x] & '\Connection', 'Name')
If $tmp2 = $keyarr[$x] Then
$infoarr[$x][0] = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\" & $tmp, "DriverDesc")
$short = $short + 1 ;gefundene Namen zählen
EndIf
Next
If $short = $counter Then ExitLoop ;Alle Adapternamen gefunden
[/autoit] [autoit][/autoit] [autoit]$i = $i + 1
WEnd
Return $infoarr
EndFunc ;==>_GetAllNetAdapterInfo
Func GetIP($AdapterName)
Local $objWMIService = ObjGet('winmgmts:\\localhost\root\CIMV2'), $Output = 0
Local $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapter', 'WQL', 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
Local $colItems2 = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration', 'WQL', 0x30)
If IsObj($colItems2) Then
For $objItem2 In $colItems2
If $objItem.Caption = $objItem2.Caption Then
If $objItem.NetConnectionID = $AdapterName Then
$Output = $objItem2.IPAddress(0)
EndIf
EndIf
Next
EndIf
Next
EndIf
Return $Output
EndFunc ;==>GetIP
Hi Andy,
Danke für deine Mühe!
Dein Skript funktioniert super. Danke!
Falls jemand irgendwann auf die Lösung kommt, wäre es super sie zu posten! Nur so nur interessehalber.