Hallo allerseits,
eigentlich dachte hatte ich gedacht ich hätte das ich das miot dem Adlib Register verstanden hatte, aber wohl doch nicht ganz, oder es funktioniert nicht mit jeder Funktion. Ich versuche verweifelt die aktive IP auszulesen, und zwar aktualisiert, er sag bei mir immer die Variable sei nicht definiert, das seh ich nicht ganz so. Vielleicht kann mir ja jemand auf die Sprünge helfen, wäre ich sehr dankbar. Der isolierte Code sieht folgendermaßen aus:
AutoIt
; Script Start - Add your code below here
#include-once
;#include "GUIBkImage.au3"
#include "Services.au3"
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <GuiCtrlSetOnHover_UDF.au3>
#include <StaticConstants.au3>
#include <String.au3>
#include <WinApi.au3>
#include <WindowsConstants.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
#include <ButtonConstants.au3>
Global $ARRAY_COLOR_TOP_MIN[3] = [36, 65, 142]
Global $ARRAY_COLOR_TOP_MAX[3] = [11, 42, 122]
Global $RBOX_EVENT_CLOSE = 1
Global $ROUNDES = 20, $LastHwnd = 0
Global $LastHwnd
Global $GUIBKCOLOR = 0xFFFFFFFF
Global $sAugStatusLabel = "Augias Vers: "
Global $iAugStatusLabel
Local $sIPLabel = "IP (aktiv): "
;Global $iIPLabel =
; processing -------------------------------------------------------------------
AdlibRegister('UpdateIP', 1000)
Global $hGui = RBoxCreate("IP CHECK", 400, 200)
;_createButtons()
_createLabels()
While True
CheckX($hGui, $RBOX_EVENT_CLOSE, "GuiCtrlSetColor(" & $RBOX_EVENT_CLOSE & ",0xA3A3A3)", "GuiCtrlSetColor(" & $RBOX_EVENT_CLOSE & ",0x555555)")
local $gMsg = GUIGetMsg()
Switch $gMsg
Case $GUI_EVENT_CLOSE, $RBOX_EVENT_CLOSE
GUIDelete($hGui)
AdlibUnRegister('UpdateIP')
Exit
EndSwitch
WEnd
; functions --------------------------------------------------------------------
Func _createLabels()
$iIPLabel = GUICtrlCreateLabel(_ActiveIP(), 10, 60, 980, 20)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
EndFunc
Func _createButtons()
EndFunc
Func _ActiveIP($sHost = ".")
Local $objAdapter
Local $objWMIService = ObjGet("winmgmts:{impersonationLevel = impersonate}!\\" & $sHost & "\root\cimv2")
If Not IsObj($objWMIService) Then Return SetError(1, 0, 0)
Local $colAdapter = $objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration WHERE IPEnabled = True", "WQL", 0x30)
If IsObj($colAdapter) Then
For $objAdapter In $colAdapter
If IsString($objAdapter.IPAddress(0)) Then
If IsString($objAdapter.DefaultIPGateway(0)) Then
Return $objAdapter.IPAddress(0)
Endif
EndIf
Next
EndIf
Return SetError(1, 0, 0)
local $IPLabel = $objAdapter.IPAddress(0)
local $AIP = $objAdapter.IPAddress(0)
GUICtrlSetData(_ActiveIP())
EndFunc
;;;;;;;;;;;;;;BOX-Style;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func RBoxCreate($Title, $width, $height, $left = -1, $top = -1, $show = 1)
Local $GUI = GUICreate($Title, $width, $height, $left, $top, $WS_POPUP)
;GUICtrlCreatePic('C:\Windows\Temp\hg.jpg', 0, 25, 920, 660)
GUICtrlSetState(-1, $GUI_DISABLE)
GUISetBkColor($GUIBKCOLOR, $GUI)
;_GuiRoundCorners($GUI,0,0,$ROUNDES,$ROUNDES)
$RBOX_EVENT_CLOSE = GUICtrlCreateLabel('X', $width - 20, 3, 25, 25)
GUICtrlSetCursor($RBOX_EVENT_CLOSE, 0)
GUICtrlSetBkColor($RBOX_EVENT_CLOSE, -2)
GUICtrlSetFont($RBOX_EVENT_CLOSE, 15, 800)
GUICtrlSetColor($RBOX_EVENT_CLOSE, 0x555555)
$Title &= " "
Local $hTitle = GUICtrlCreateLabel($Title, 0, 0, $width - 20, 26, $SS_CENTER, $GUI_WS_EX_PARENTDRAG)
GUICtrlSetFont($hTitle, 17, 400, 0, "Consolas")
GUICtrlSetBkColor($hTitle, -2)
Local $Graphic = GUICtrlCreateGraphic(0, 0, $width, 25)
GUICtrlSetState($Graphic, $Gui_DISABLE)
;GradientFill($Graphic, 0, 0, $width, 25, $ARRAY_COLOR_TOP_MIN, $ARRAY_COLOR_TOP_MAX)
If $show = 1 Then GUISetState(@SW_SHOW, $GUI)
Return $GUI
EndFunc
Func CheckX($hGui, $CtrlID, $sCMD, $eCMD)
Local $cGui = GUIGetCursorInfo($hGui)
If Not IsArray($cGui) Then
Return 0
EndIf
If $LastHwnd <> $cGui[4] And $cGui[4] = $CtrlID Then Return Execute($sCMD) + Assign("LastHwnd", $cGui[4])
If $LastHwnd <> $cGui[4] Then Return Execute($eCMD) + Assign("LastHwnd", $cGui[4])
EndFunc
Alles anzeigen
Vielen Dank schon mal im Voraus
lg und eine schöne Restwoche noch
lg
Chris