Zu deinem ersten Problem.
Frag den Slider einfach nach dem erstellen ab und setzte die Bars dementsprechend :
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <SendMessage.au3>
#include <ProgressConstants.au3>
#Include <WinAPI.au3>
$Form1 = GUICreate("Progress Bars", 263, 286)
;--Bar1--
$Label1 = GUICtrlCreateLabel("Bar 1:", 8,
$Progress1 = GUICtrlCreateProgress(8, 24, 246, 25)
;--Bar2--
$Label2 = GUICtrlCreateLabel("Bar 2:", 8, 64)
$Progress2 = GUICtrlCreateProgress(8, 80, 246, 25)
_SendMessage(GUICtrlGetHandle($Progress2),$PBM_SETSTATE, 2)
;--Bar3--
$Label3 = GUICtrlCreateLabel("Bar 3:", 8, 120)
$Progress3 = GUICtrlCreateProgress(8, 136, 246, 25)
_SendMessage(GUICtrlGetHandle($Progress3),$PBM_SETSTATE, 3)
;--Bar4--
$Label4 = GUICtrlCreateLabel("Bar 4:", 8, 176)
$Progress4 = GUICtrlCreateProgress(8, 192, 246, 25,$PBS_MARQUEE)
_SendMessage(GUICtrlGetHandle($Progress4),$PBM_SETMARQUEE, True, 30)
;----
$Slider1 = GUICtrlCreateSlider(8, 240, 246, 37)
GUICtrlSetLimit($Slider1, 100, 0)
GUICtrlSetData($Slider1, 50)
GUISetState(@SW_SHOW)
$OldPercent=0
GUICtrlSetData($Progress1,GUICtrlRead($Slider1))
GUICtrlSetData($Progress2,GUICtrlRead($Slider1))
GUICtrlSetData($Progress3,GUICtrlRead($Slider1))
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
$NewPercent=GUICtrlRead($Slider1)
If $NewPercent<>$OldPercent Then
$OldPercent=$NewPercent
GUICtrlSetData($Progress1,$NewPercent)
GUICtrlSetData($Progress2,$NewPercent)
GUICtrlSetData($Progress3,$NewPercent)
EndIf
WEnd