Hallo allerseits,
habe schon wieder mal ein Problem mit der adlibRegister Funktion, keine Ahnung was ich dabei immer vergesse. Ich habe folgendes Problem, ich habe in einem Scipt eine Funktion die ein Label einblenden soll, sobald ein bestimmter Speicherstand erreicht ist auf dem System Laufwerk. Das funktioniert auch, aber er aktualisiert es anscheinend nicht, sieht jemand den Fehler?
AutoIt
; includes ---------------------------------------------------------------------
#include-once
#include "Services.au3"
#include <GuiCtrlSetOnHover_UDF.au3>
#include <StaticConstants.au3>
#include <String.au3>
#include <WinApi.au3>
#include <MsgBoxConstants.au3>
#include <ButtonConstants.au3>
#include <StringConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
; opt ----------------------------------------------------------------------
Opt('MustDeclareVars', 1)
;declaration ------------------------------------------------------------------
;GUI Variables
Global $ActiveCheck, $result
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 = 0x738599
Global $SubBack = 0xEAF0E2
global $var_system_drive = StringLeft(@WindowsDir, 2); SystemDrive auslesen
Global Const $drive = StringLeft( $var_system_drive, 3)
global $iFreeSpace = ""
global $fslabel = ""
global $LabelSpace
;AdLibRegisterg;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
AdlibRegister('_createLabels', 5000)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; processing --------------------------------------------------------------------------------------------------
Global $hGui = RBoxCreate("Test", 840, 610)
;FunctionCalls---------------------------------------------------------------------------------------------------------------------------------------------------
_Testspace()
_createLabels()
;-----------------------------------------------------------------------------------------------------------------------------------------------------------------
;Main Logic-------------------------------------------------------------------------------------------------------------------------------------------------------
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('_createLabels')
Exit
Case $labelSpace
global $iFreeSpace = DriveSpaceFree(@HomeDrive & "\")
MsgBox($MB_SYSTEMMODAL, "", "Free Space: " & $Free & " GB")
EndSwitch
WEnd
;-----------------------------------------------------------------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Func _createLabels()
$labelSpace = GUICtrlCreateLabel($FSlabel, 150, 340, 350, 150)
GUICtrlSetColor(-1, 0xF00404) ; red
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
EndFunc
;-----------------------------------------------------------------------------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Func _Testspace()
global $fslabel = ""
Global $free = DriveSpaceFree($drive) / 1024
if $free < 21 Then; Schwellwert in GB
$fslabel = "Drive Space auf System-Laufwerk wird knapp !!!"
else
$fslabel = ""
endif
;MsgBox(0, "Drive Free Space For " & $drive, $free)
EndFunc
;----------------------------------------------------------------------------------------------------------------------------------------------------------------
;GUI 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 i.V. und
ein schönes Wochenende