Runwait statusleiste

  • Hallo,

    habe ein Runwait erzeugt würde gerne eine stausleiste $Progress1 einbauen damit ich sehe was da passiertz weil die abrafe etwas länger dauer eine idee?

    hat jemand eine idee ?

    Spoiler anzeigen
    [autoit]

    case $hButton
    RunWait(@ComSpec & " /c " & 'dsquery.bat', "", @SW_HIDE)

    [/autoit]

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • das ist meines wissens nach mit runwait nicht möglich. was macht denn die batch? vielleicht kannst du diese in autoit umschreiben und da nen progress einbauen...

  • die batch mat eine qsquery auf das AD liest alle gruppen aus und leitet sie in eine TXT um > gruppen txt

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • für ne ad kenne ich keine entsprechende udf -> aber wenn jemand eine hat nur her damit :D

  • cool, danke... werd mal auf meinem test ad n bisschen damit rumexperimentieren.... :rock:

  • ich als anfänge rkomme bstimmt damit klar ;(

    weiss gar nicht wie ich das angehen soll??

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • was meinst du denn? die ad funktionen oder was?

    mach die au3 mal auf, dort siehst du alle funktionen mit den entsprechenden parametern welche benötigt werden. die au3 bindest du dir mit folgendem befehl ein:

    [autoit]

    #Include <HIER DIE AU3 DATEI>

    [/autoit]

    dann kannst du, wie wenn du die funktionen in deinem script erstellt hättest, auf diese zugreifen..

    hoffe das hilft dir weiter... (natürlich solltest du dich ein bisschen mit active directory auskennen, damit du dir nicht dein ad kaputt machst ;) ) daher am besten erst auf einem testsystem rumexperimentieren

  • Ja ne ist klar,

    habe mir jetzt eine VM gebaut wo ich ein abild von meinem AD habe ;)
    mit fehelen bloss die ersten schritte bin ja anfänger das laufen lerne ich schon selber und im AD kenne ich mich sehr gut aus

    hoffe da kann ich auch mal fragen beantworten ;)

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • wenn du hilfe zu den funktionen brauchst, kannst dich gerne an moch wenden, hab schon viele der funktionen getestet und muss sagen, dass diese ganz gut funktionioieren (LDAP halt) - aber auf mein echt-AD lass ich autoit trotzdem nicht los 8)

  • siehst du daher wäre dsquery oder ds get besser oder was meinst du ?

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • aber egal mit was du es machst, n progress wirst du nicht einbauen können... auch mit den ad funktionen nicht außer du willst ne gewisse anzahl an user erstellen zb. die du über eine schleife erstellst... für nen progress barauchst du immer eine schleife (wenn der progress echt sein soll)

  • Eine Progressbar kannst du zum Bespiel so machen, wenn sie nur anzeigen soll, dass dein Skript arbeitet und der Fortschritt egal ist:

    [autoit]

    ProgressOn("Progress","Beim Ausführen...")
    ;~ $PID = Run(@ComSpec & " /c " & 'dsquery.bat', "", @SW_HIDE)
    $PID = Run("taskmgr.exe")
    $i = 0
    While ProcessExists($PID)
    $i += 10
    If $i > 100 Then $i = 0
    ProgressSet($i)
    Sleep(200)
    WEnd
    ProgressOff()

    [/autoit]
  • Danke erstamll für den vorschlag verstehe bloss das script nicht kannst du es mir erklären?

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • Ich werde dir das Skript mal kommentieren, obwohl das doch nicht so schwer ist ,)

    [autoit]

    ProgressOn("Progress","Beim Ausführen...") ; Progressfenster erueugen
    $PID = Run("taskmgr.exe") ; Ein Programm starten
    $i = 0 ; Einen Zähler für den Fortschritt
    While ProcessExists($PID) ; Schleife ausführen, solange der gesartete Prozess existiert
    $i += 10 ; Zähler um 10 erhöhen
    If $i > 100 Then $i = 0 ; Wenn der ZZähler größer als 100 ist, auf 0 zurücksetzen ( Progressbar geht von 0-100)
    ProgressSet($i) ; Neuen Fortschritt setzen
    Sleep(200) ; 200 Millisekunden Pasue machen
    WEnd
    ProgressOff() ; Fortschrittsbalken schließen

    [/autoit]


    Das ist kein echter Fortschrittsbalken, sondern während das gestartete Programm läuft, wird einfach immer wieder von 0 bis 100 hochgezählt ;)

  • Hey

    soweit so gut aber funktionier erst beim 2 klick auf den $hbutton eine idee?

    Spoiler anzeigen
    [autoit]

    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    case $hButton
    $PID = Run(@ComSpec & " /c " & 'dsquery.bat', "", @SW_HIDE); Ein Programm starten
    ProgressOn("AD Gruppen ","werden ausgelesen...") ; Progressfenster erueugen
    $i = 0 ; Einen Zähler für den Fortschritt
    While ProcessExists('dsquery.exe') ; Schleife ausführen, solange der gesartete Prozess existiert
    $i += 10 ; Zähler um 10 erhöhen
    If $i > 100 Then $i = 0 ; Wenn der ZZähler größer als 100 ist, auf 0 zurücksetzen ( Progressbar geht von 0-100)
    ProgressSet($i) ; Neuen Fortschritt setzen
    Sleep(200) ; 200 Millisekunden Pause machen
    WEnd
    ProgressOff() ; Fortschrittsbalken schließen

    [/autoit]

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."