1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Oscar

Beiträge von Oscar

  • Shutdown on IDLE

    • Oscar
    • 19. Mai 2010 um 08:44

    Du könntest den Netzwerktraffic überwachen. Wenn dieser eine zeitlang unter einem bestimmten Wert bleibt (Null geht nicht, weil Windows hin und wieder auf das Netzwerk zugreift), dann den Rechner runterfahren.

    Hier ist mal ein kleines Beispielskript:

    Spoiler anzeigen
    [autoit]


    HotKeySet('{ESC}', '_End')
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $strComputer = 'localhost'
    $NetworkAdapter = 'Marvell Yukon 88E8053 PCI-E Gigabit Ethernet Controller' ; hier den Namen des Netzwerkadapters eintragen

    [/autoit] [autoit][/autoit] [autoit]

    $Output=""
    $Output &= 'Computer: ' & $strComputer & @CRLF
    $Output &= '==========================================' & @CRLF
    $objWMIService = ObjGet('winmgmts:\\' & $strComputer & '\')
    While True
    $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_PerfFormattedData_Tcpip_NetworkInterface', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) Then
    For $objItem In $colItems
    If $objItem.Name = $NetworkAdapter Then
    $Output = 'BytesReceivedPersec: ' & $objItem.BytesReceivedPersec & @CRLF
    $Output &= 'BytesSentPersec: ' & $objItem.BytesSentPersec & @CRLF
    $Output &= 'BytesTotalPersec: ' & $objItem.BytesTotalPersec & @CRLF
    ToolTip($Output, @DesktopWidth / 2 - 200, 20, 'Network-Traffic')
    EndIf
    Next
    Else
    $Output &= 'No WMI Objects Found for class: ' & 'Win32_PerfFormattedData_Tcpip_NetworkInterface'
    Endif
    Sleep(50)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _End()
    Exit
    EndFunc

    [/autoit]
  • Musik-Quiz v4

    • Oscar
    • 16. Mai 2010 um 17:22

    Ich habe nochmal ein wenig am Programm gefeilt. Einige kleinere Bugs beseitigt und etwas Kosmetik waren schon noch nötig. :)
    Manchmal bemerkt man solche Dinge erst nach stundenlangen spielen. Wir haben mein Spiel einen Härtetest unterzogen (4 Spieler, mehrere Stunden gespielt).
    Falls euch jetzt noch Fehler auffallen, wäre ich euch dankbar, wenn ihr sie melden würdet. :)

    Die neue Version gibt es (wie immer) in Post#1.

  • Welche Serie schaut ihr?

    • Oscar
    • 16. Mai 2010 um 09:08

    Ich musste auch gerade feststellen, dass ich von der gesamten Liste nur eine einzige Serie kenne (Simpsons). :pinch:
    Muss wohl am Alter liegen....

  • Problem mit TreeView

    • Oscar
    • 16. Mai 2010 um 00:25

    Ich habe Dein Skript mal etwas überarbeitet:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GuiTreeView.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ; GUI und TreeView definieren
    $gui = GUICreate("ControlTreeview test", 212, 198)
    $gui_empfaenger = GUICtrlCreateTreeView(6, 6, 200, 160, BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_SHOWSELALWAYS, $TVS_CHECKBOXES), $WS_EX_CLIENTEDGE)
    $button = GUICtrlCreateButton("Test", 6, 172, 200, 20)

    [/autoit] [autoit][/autoit] [autoit]

    ; Liste wird geladen
    Dim $liste_empf1[3] = ["Hans", "Karl", "Max"]
    Dim $liste_empf2[5] = ["Moritz", "Fritz", "Josef", "Günter", "Otto"]

    [/autoit] [autoit][/autoit] [autoit]

    ; TreeView
    $liste1 = GUICtrlCreateTreeViewItem("Liste1", $gui_empfaenger)
    Dim $empf1[UBound($liste_empf1)]
    For $y = 0 To UBound($liste_empf1) - 1
    $empf1[$y] = GUICtrlCreateTreeViewItem($liste_empf1[$y], $liste1)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    $liste2 = GUICtrlCreateTreeViewItem("Liste2", $gui_empfaenger)
    Dim $empf2[UBound($liste_empf2)]
    For $y = 0 To UBound($liste_empf2) - 1
    $empf2[$y] = GUICtrlCreateTreeViewItem($liste_empf2[$y], $liste2)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    ; GUI starten
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    ; Elemente definieren
    ControlTreeView($gui, "", $gui_empfaenger, "Expand", "Liste1")
    ControlTreeView($gui, "", $gui_empfaenger, "Expand", "Liste2")

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $button ; Beim klicken auf test
    $text = ""
    For $y = 0 To Ubound($empf1)-1
    If BitAND(GUICtrlRead($empf1[$y]), $GUI_CHECKED) Then $text &= $liste_empf1[$y] & @CRLF
    Next
    For $y = 0 To Ubound($empf2)-1
    If BitAND(GUICtrlRead($empf2[$y]), $GUI_CHECKED) Then $text &= $liste_empf2[$y] & @CRLF
    Next
    MsgBox(0, "Markierte Empänger", $text)
    EndSelect
    WEnd

    [/autoit]
  • Shutdown-Tool

    • Oscar
    • 14. Mai 2010 um 17:10

    Ok, habe ja früher auch schon einige Skripte für Anfänger (vollständig kommentiert) vorgestellt. Hier (Post #1) also eine erweiterte und kommentierte Version vom Shutdown-Tool. :)

  • Shutdown-Tool

    • Oscar
    • 12. Mai 2010 um 21:34

    Eigentlich ist das mehr so aus Jux heraus entstanden.
    Braucht Du wirklich so ein Shutdown-Tool (ernst gemeint)?

  • Shutdown-Tool

    • Oscar
    • 12. Mai 2010 um 21:15

    Hier sind so viele Skripte zum herunterfahren/neustarten des Rechners, da muss ich doch auch mal eine Version rausbringen. ;)

    Ich bin da auch ganz bescheiden und begnüge mich mit 64 Zeilen:

    Jetzt eine erweiterte Version (82 Zeilen und vollständig kommentiert):

    Spoiler anzeigen
    [autoit]


    #include <Date.au3>
    #include <DateTimeConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt('GUIOnEventMode', 1) ; auf den Event-Mode umschalten

    [/autoit] [autoit][/autoit] [autoit]

    Global $iShutdown, $sStartTime, $sEndTime
    GUICreate('Shutdown-Tool', 300, 160) ; das Fenster erstellen
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End') ; beim schliessen des Fensters die Funktion _End() aufrufen
    GUISetIcon('shell32.dll', 28) ; das Shutdown-Icon aus der shell32.dll als Programm-Icon benutzen
    GUISetBkColor(0xCCCCCC) ; Hintergrundfarbe des Fensters setzen
    $hMode1 = GUICtrlCreateRadio('Herunterfahren', 10, 10, 110, 20) ; Radiobutton erstellen
    GUICtrlSetOnEvent(-1, '_CheckMode') ; beim anklicken des Radiobuttons die Funktion _Checkmode() ausführen
    GUICtrlSetState(-1, $GUI_CHECKED) ; der "Herunterfahren"-Button soll standardmässig ausgewählt sein
    $hMode2 = GUICtrlCreateRadio('Ruhezustand', 10, 30, 110, 20) ; s.o.
    GUICtrlSetOnEvent(-1, '_CheckMode') ; s.o.
    $hMode3 = GUICtrlCreateRadio('Standby', 10, 50, 110, 20) ; s.o.
    GUICtrlSetOnEvent(-1, '_CheckMode') ; s.o.
    $hMode4 = GUICtrlCreateRadio('Neu starten', 10, 70, 110, 20) ; s.o.
    GUICtrlSetOnEvent(-1, '_CheckMode') ; s.o.
    $hForce = GUICtrlCreateCheckbox('Modus erzwingen?', 10, 100, 110, 20) ; Checkbox "Modus erzwingen?" erstellen
    $hActTime = GUICtrlCreateLabel('', 180, 10, 100, 20) ; das Label zum anzeigen der akt. Uhrzeit erstellen
    GUICtrlSetFont(-1, 16) ; die Schriftgrösse des Labels auf 16 setzen
    $hSetTime = GUICtrlCreateDate('', 178, 50, 110, 25, $DTS_TIMEFORMAT) ; mit diesem Control kann man eine Uhrzeit (HH:MM:SS) einstellen
    GUICtrlSetFont(-1, 16) ; die Schriftgrösse des Uhrzeit-Controls auf 16 setzen
    $hStart = GUICtrlCreateButton('Start', 178, 95, 110, 25) ; den Startbutton erstellen
    GUICtrlSetOnEvent(-1, '_Start') ; beim anklicken des Startbuttons die Funktion _Start() aufrufen
    $hTimeProgr = GUICtrlCreateProgress(0, 140, 300, 20, $PBS_SMOOTH) ; Progressbalken erstellen
    GUISetState() ; Fenster anzeigen
    AdlibRegister('_RefreshTime', 500) ; die Funktion _RefreshTime() wird alle 500ms aufgerufen

    [/autoit] [autoit][/autoit] [autoit]

    While Sleep(1000) ; Endlosschleife mit Sleep, um die CPU zu entlasten
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _End()
    Exit ; Programm beenden
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _RefreshTime()
    Local $sTime, $iPercent, $sTimeDiff
    $sTime = StringFormat('%02i:%02i:%02i', @HOUR, @MIN, @SEC) ; Uhrzeit ins richtige Format bringen
    GUICtrlSetData($hActTime, $sTime) ; und in das Label schreiben
    If GUICtrlRead($hStart) = 'Start' Then Return ; wenn im Startbutton noch "Start" steht, dann Funktion hier verlassen
    $sTimeDiff = _DateDiff('s', _NowCalcDate() & ' ' & $sTime, $sEndTime) ; die Differenz (in Sek.) zwischen akt. Zeit und eingestellter Zeit ausrechnen
    If $sTimeDiff <= 10 Then ; wenn die Differenz kleiner/gleich 10 Sekunden ist, dann...
    ToolTip('Noch ' & $sTimeDiff & ' sekunden', @DesktopWidth / 2 - 50, @DesktopHeight / 2 - 50, 'Shutdown-Tool', 2, 5) ; die Differenz in einem Tooltip anzeigen
    EndIf
    $iPercent = 100 / _DateDiff('s', $sStartTime, $sEndTime) * $sTimeDiff ; Prozentwert ausrechnen
    GUICtrlSetData($hTimeProgr, $iPercent) ; und den Progressbalken entsprechend füllen
    If $sEndTime = $sTime Then Exit Shutdown($iShutdown) ; wenn die eingestellte Zeit erreicht ist, dann den Shutdown-Befehl ausführen und das Programm beenden
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _CheckMode()
    Switch @GUI_CtrlId ; hiermit wird geprüft, von welchem Radiobutton diese Funktion aufgerufen wurde
    Case $hMode1, $hMode4 ; bei "Herunterfahren" und "Neu starten"
    GUICtrlSetState($hForce, $GUI_ENABLE) ; die Checkbox "Modus erzwingen?" aktivieren
    Case Else ; ansonsten ("Ruhezustand" und "Standby")
    GUICtrlSetState($hForce, $GUI_DISABLE) ; die Checkbox "Modus erzwingen?" deaktivieren
    EndSwitch
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Start()
    Switch GUICtrlRead($hStart) ; entsprechend dem Text auf dem Startbutton auswählen was passieren soll
    Case 'Start' ; wenn auf dem Startbutton noch "Start" stand, soll jetzt der Countdown gestartet werden
    $sStartTime = _NowCalc() ; das aktuelle Datum und Uhrzeit holen
    $sEndTime = _NowCalcDate() & ' ' & GUICtrlRead($hSetTime) ; die eingestellte Uhrzeit auslesen
    If _DateDiff('s', $sStartTime, $sEndTime) < 0 Then $sEndTime = _DateAdd('D', 1, $sEndTime) ; wenn die eingestellte Uhrzeit vor der aktuellen liegt, dann einen Tag addieren
    GUICtrlSetData($hStart, 'Abbrechen') ; den Text auf dem Startbutton auf "Abbrechen" ändern
    GUICtrlSetState($hSetTime, $GUI_DISABLE) ; das Zeiteingabe-Control deaktivieren
    If BitAND(GUICtrlRead($hMode1), $GUI_CHECKED) Then $iShutdown = 9 ; wenn der Radiobutton "Herunterfahren" ausgewählt wurde, entsprechenden Shutdown-Code benutzen
    If BitAND(GUICtrlRead($hMode2), $GUI_CHECKED) Then $iShutdown = 64 ; "Ruhezustand"
    If BitAND(GUICtrlRead($hMode3), $GUI_CHECKED) Then $iShutdown = 32 ; "Standby"
    If BitAND(GUICtrlRead($hMode4), $GUI_CHECKED) Then $iShutdown = 2 ; "Neu starten"
    If $iShutdown <= 9 And BitAND(GUICtrlRead($hForce), $GUI_CHECKED) Then $iShutdown += 20 ; wenn "Modus erzwingen" ausgewählt war, dann 20 dazuaddieren
    Case 'Abbrechen' ; auf dem Startbutton stand "Abbrechen", also soll der Countdown gestoppt werden
    ToolTip('') ; den Tooltip ausblenden
    GUICtrlSetData($hStart, 'Start') ; den Text auf dem Startbutton wieder zu "Start" ändern
    GUICtrlSetState($hSetTime, $GUI_ENABLE) ; das Zeiteingabe-Control aktivieren
    GUICtrlSetData($hTimeProgr, 0) ; den Progressbalken auf null setzen
    EndSwitch
    EndFunc

    [/autoit]
  • Eingener messenger

    • Oscar
    • 12. Mai 2010 um 17:51

    Was ist das denn jetzt für ein Thread? ?(

    Wohin soll ich den verschieben? Nach "Hilfe und Unterstützung", nach "Jobbörse" oder nach "OffTopic"?

  • HD-Camcorder

    • Oscar
    • 12. Mai 2010 um 15:15

    HD-Camcorder für unter 100€?
    Würde ich dringend von abraten. Die Qualität ist grauenhaft. Halbwegs Brauchbare fangen bei ca. 600€ an. Für wirklich gute zahlst Du locker 1000€.

    Für unter 100€ kannst Du gleich ein Handy mit eingebauter Kamera nehmen (gleich schlecht).

    Wenn Du nicht viel Geld ausgeben willst, vergiss das mit HD und kauf Dir (gebraucht) einen guten Standard-Camcorder. Die Qualität ist deutlich besser.

  • Datei mit Wert vergleichen

    • Oscar
    • 11. Mai 2010 um 18:17

    Oder eine fertige Lösung (ohne Icludes):

    Spoiler anzeigen
    [autoit]


    $sPCFile = @ScriptDir & '\PC.txt'
    $sFile = FileRead($sPCFile)
    $sDate = StringFormat('%s-%s-%s - %s:%s:%s', @MDAY, @MON, @YEAR, @HOUR, @MIN, @SEC)
    $sSearch = 'C123456777'
    If StringInStr($sFile, $sSearch) Then
    $sFile = StringRegExpReplace($sFile, '(' & $sSearch & '),.+', '$1, ' & $sDate)
    Else
    $sFile &= $sSearch & ', ' & $sDate & @CRLF
    EndIf
    $hFile = FileOpen($sPCFile, 2)
    If $hFile <> -1 Then
    FileWrite($hFile, $sFile)
    FileClose($hFile)
    EndIf
    MsgBox(0,0,$sFile)

    [/autoit]
  • Tastendruck- simulato erstellen hilfe pls

    • Oscar
    • 10. Mai 2010 um 21:39

    Eben! Genau so wird das auch gemacht.
    [Thread closed]

  • Tastendruck- simulato erstellen hilfe pls

    • Oscar
    • 10. Mai 2010 um 20:04

    und was wird das jetzt wieder für ein Bot? :wacko:

    Bitte die Forenregeln lesen!

  • IniWrite schreibt nicht...

    • Oscar
    • 10. Mai 2010 um 19:34

    Oh mann, ein Bot... :thumbdown:

    Forenregeln lesen!

    [closed]

  • Checkbox und Group mit Radio's speichern

    • Oscar
    • 10. Mai 2010 um 18:31

    Wenn Du den Wert sowieso in eine Inidatei schreiben willst, dann kannst Du das If...Then auch weglassen:

    [autoit]


    IniWrite("settings.ini","example","checkbox",BitAnd(GUICtrlRead($Checkbox), $GUI_CHECKED) = $GUI_CHECKED) ; so wird direkt True/False in die Ini geschrieben

    [/autoit]
  • Merkt den keiner diesen Peinlichen Fehler?????????

    • Oscar
    • 10. Mai 2010 um 17:49

    Mir fallen allein in Deiner Überschrift drei Fehler auf:

    Zitat

    Merkt den keiner diesen Peinlichen Fehler?????????


    :P

  • Online Tabelleninhalt in Variablen speichern

    • Oscar
    • 7. Mai 2010 um 19:07

    Achso, da kann manchmal auch ein Leerstring enthalten sein.

    Dann besser so:

    [autoit]


    #include <Array.au3>
    #include <Inet.au3>

    [/autoit][autoit][/autoit][autoit]

    HttpSetUserAgent("Firefox")
    $new = _INetGetSource('http://www.online-hiorg.square7.de/index.php')
    $array = StringRegExp($new, '(?s)<td>.+?</td>.+?<td>(.*?)</td>', 3)
    _ArrayDisplay($array)

    [/autoit]
  • Online Tabelleninhalt in Variablen speichern

    • Oscar
    • 7. Mai 2010 um 17:48

    Ich weiss ja nicht, wie Du zu diesem Array gekommen bist, aber statt jetzt umständlich wieder Einträge aus dem Array zu entfernen, sorge doch lieber dafür, dass sie erst gar nicht dort auftauchen. ;)

    [autoit]


    #include <Array.au3>
    #include <Inet.au3>

    [/autoit][autoit][/autoit][autoit]

    HttpSetUserAgent("Firefox")
    $new = _INetGetSource('http://www.online-hiorg.square7.de/index.php')
    $array = StringRegExp($new, '(?s)<td>.+?</td>.+?<td>(.+?)</td>', 3)
    _ArrayDisplay($array)

    [/autoit]
  • Script in Lineage 2

    • Oscar
    • 7. Mai 2010 um 17:35

    Ich würde sagen, Du hast vergessen Dir das hier durchzulesen.

    [Thread closed]

  • Gui Fenster schließt sich ganze zeit

    • Oscar
    • 6. Mai 2010 um 09:44

    Du musst Dich schon für einen Modus entscheiden. Entweder GUIOnEvent oder GUIGetMsg. Beides gleichzeitig geht nicht.

  • Wie MPL und CPI-Datei auslesen

    • Oscar
    • 6. Mai 2010 um 04:17
    Zitat von Tweaky

    noch jemand eine Idee :?:

    Ich finde nirgends etwas darüber, wie die Daten in den Dateien abgelegt sind. Hast Du einen Link, wo das Dateiformat erklärt wird?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™