#include #include #include #include Local $aMem = MemGetStats() Local $aMemTotal = $aMem[1] Local $aMemMB = ($aMemTotal / 1024) Local $aMemGB = ($aMemMB / 1024) Local $aMemGBRounded = Round($aMemGB, 1) Local $aMemGBPlusz01 = $aMemGBRounded Dim $computername = @ComputerName ; Computer Name Dim $OS = @OSVersion ; OS Version Dim $user = @UserName ; User Name Dim $OSarch = @OSArch ; Dim $CPU = @ComSpec ; Dim $DesktopHeight = @DesktopHeight Dim $DesktopWidth = @DesktopWidth Dim $DesktopDepth = @DesktopDepth Dim $text = "" ; Output text for message Switch $OSarch Case "X64" $OSarch = "(64bit)" Case "X32" $OSarch = "(32bit)" EndSwitch ConsoleWrite("OS: " & $OS & @CRLF) Switch $OS ; A Switch statement. We are going to make the value returned by @OSVERSION Case "WIN_95" $OS = "Windows 95" Case "WIN_98" $OS = "Windows 98" Case "WIN_ME" $OS = "Windows ME" Case "WIN_NT4" $OS = "Windows NT 4.0" Case "WIN_2000" $OS = "Windows 2000" Case "WIN_XP" $OS = "Windows XP" Case "WIN_2003" $OS = "Windows Server 2003" Case "WIN_2008" $OS = "Windows Server 2008" Case "WIN_VISTA" $OS = "Windows Vista" Case "WIN_7" $OS = "Windows 7" Case "WIN_8" $OS = "Windows 8" Case "WIN_10" $OS = "Windows 10" Case Else $OS = "Unknown Yet" ConsoleWrite("OS Unknown: " & $OS & @CRLF) EndSwitch $text &= "Computer Name = " & $computername & @CRLF ; The &= adds to the variable. The $text &= "User Name = " & $user & @CRLF & @CRLF $text &= "Operating System = " & $OS & " " & $OSarch & @CRLF ; The & adds $text &= "System RAM = " & $aMemGBPlusz01 & " GB" & @CRLF & @CRLF $text &= "Desktop Width = " & $DesktopWidth & @CRLF $text &= "Desktop Heigh = " & $DesktopHeight & @CRLF & @CRLF AdlibRegister("_SimpleIPLook", 3000) $Form1StartPositionX = @DesktopWidth / 2 - 200 ; 490-et vonunk le mert 980 az ablak szélességünk és annak a fele $Form1StartPositionY = @DesktopHeight / 2 - 150 ; 320-et vonunk le mert 640 az ablak magasságunk és annak a fele Global $Form1 = GUICreate("Nano Comp Info Tool", 510, 350,$Form1StartPositionX , $Form1StartPositionY) $RefreshButton = GUICtrlCreateButton('Network Adapter Settings (Win10)', 10, 300, 180, 20) ;~ $DrivesButton = GUICtrlCreateButton('Get Drives', 10, 320, 180, 20) $text1 = GUICtrlCreateLabel($text, 10, 10, 190, 170) $text1 = GUICtrlCreateLabel("IP1 = ", 10, 140, 100, 30) $text2 = GUICtrlCreateLabel("IP2 = ", 10, 160, 100, 30) $text3 = GUICtrlCreateLabel("IP3 = ", 10, 180, 100, 30) $text4 = GUICtrlCreateLabel("IP4 = ", 10, 200, 100, 30) $textIP1 = GUICtrlCreateLabel(@IPAddress1, 40, 140, 100, 20) $textIP2 = GUICtrlCreateLabel(@IPAddress2, 40, 160, 100, 20) $textIP3 = GUICtrlCreateLabel(@IPAddress3, 40, 180, 100, 20) $textIP4 = GUICtrlCreateLabel(@IPAddress4, 40, 200, 100, 20) $textIP1c = @IPAddress1 $textIP2c = @IPAddress2 $textIP3c = @IPAddress3 $textIP4c = @IPAddress4 GUISetState(@SW_SHOW) Call ("_AdvancedIPLook") While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $RefreshButton Call ("_NetworkSettings") ;~ Case $DrivesButton ;~ Call ("_GetDrives") EndSwitch WEnd Func _NetworkSettings() $CMDCommand = ("C:\Windows\System32\control.exe ncpa.cpl") $CMD = Run(@ComSpec & " /k " & $CMDCommand , @WindowsDir,@SW_HIDE ) ConsoleWrite($CMD) EndFunc Func _SimpleIPLook() $textIP1b = @IPAddress1 $textIP2b = @IPAddress2 $textIP3b = @IPAddress3 $textIP4b = @IPAddress4 If $textIP1b <> $textIP1c Then $textIP1 = GUICtrlCreateLabel(@IPAddress1, 40, 140, 100, 20) $textIP1c = @IPAddress1 Call ("_AdvancedIPLook") Else Sleep(10) EndIf If $textIP2b <> $textIP2c Then $textIP2 = GUICtrlCreateLabel(@IPAddress2, 40, 160, 100, 20) $textIP2c = @IPAddress2 Call ("_AdvancedIPLook") Else Sleep(10) EndIf If $textIP3b <> $textIP3c Then $textIP3 = GUICtrlCreateLabel(@IPAddress3, 40, 180, 100, 20) $textIP3c = @IPAddress3 Call ("_AdvancedIPLook") Else Sleep(10) EndIf If $textIP4b <> $textIP4c Then $textIP4 = GUICtrlCreateLabel(@IPAddress4, 40, 200, 100, 20) $textIP4c = @IPAddress4 Call ("_AdvancedIPLook") Else Sleep(10) EndIf EndFunc Func _AdvancedIPLook() ConsoleWrite("_EnterAdcIP" & @CRLF) Local $aArray = _IPDetails() If @error = 0 Then Local $sData = '' ;~ _ArrayDisplay($aArray) For $z = 1 To $aArray[0][0] ; ez kiszedi a Not Available szöveget a beszedett adatból $aArrClean = $aArray[$z][4] $aArrClean = StringReplace($aArrClean, "Not Available", "") $aArray[$z][4] = $aArrClean Next For $y = 1 To $aArray[0][0] ; ez beteszi a Not Available szöveget ha azon kívül semmi más sincs If $aArray[$y][4] = "" Then $aArray[$y][4] = "Not Available" Else Sleep(10) EndIf Next For $i = 1 To $aArray[0][0] $sData &= '' & $aArray[$i][0] & @CRLF & 'IP Address: ' & $aArray[$i][1] & @CRLF & 'MAC: ' & _ $aArray[$i][2] & @CRLF & 'Default Gatway: ' & $aArray[$i][3] & @CRLF & 'DNS Servers: ' & $aArray[$i][4] & @CRLF & @CRLF Next ConsoleWrite("Data: " & $sData & @CRLF) $sData = StringTrimRight($sData, StringLen(@CRLF & @CRLF)) $List1 = GUICtrlCreateEdit($sData, 200, 10, 300, 330) ; 310 EndIf Call("_SimpleIPLook") EndFunc Func _IPDetails() Local $aReturn[1][5] = [[0, 5]], $iCount = 0 Local $oWMIService = ObjGet('winmgmts:{impersonationLevel = impersonate}!\\' & '.' & '\root\cimv2') Local $oColItems = $oWMIService.ExecQuery('Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True', 'WQL', 0x30) If IsObj($oColItems) Then For $oObjectItem In $oColItems $aReturn[0][0] += 1 $iCount += 1 If $aReturn[0][0] <= $iCount + 1 Then ReDim $aReturn[$aReturn[0][0] * 2][$aReturn[0][1]] EndIf $aReturn[$iCount][0] = _IsString($oObjectItem.Description) $aReturn[$iCount][1] = _IsString($oObjectItem.IPAddress(0)) $aReturn[$iCount][2] = _IsString($oObjectItem.MACAddress) $aReturn[$iCount][3] = _IsString($oObjectItem.DefaultIPGateway(0)) $aReturn[$iCount][4] = _IsString(_WMIArrayToString($oObjectItem.DNSServerSearchOrder(), ' - ')) Next ReDim $aReturn[$aReturn[0][0] + 1][$aReturn[0][1]] EndIf Return SetError($aReturn[0][0] = 0, 0, $aReturn) EndFunc ;==>_IPDetails Func _IsString($sString) If IsString($sString) = 0 Then $sString = 'Not Available' EndIf Return $sString EndFunc ;==>_IsString Func _WMIArrayToString($aArray, $sDelimeter = '|') Local $sString = 'Not Available' If UBound($aArray) Then For $i = 0 To UBound($aArray) - 1 $sString &= $aArray[$i] & $sDelimeter Next $sString = StringTrimRight($sString, StringLen($sDelimeter)) EndIf Return $sString EndFunc ;==>_WMIArrayToString