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. sc4ry

Beiträge von sc4ry

  • Hidden Text

    • sc4ry
    • 19. Juni 2007 um 14:18

    hey peethebee,

    vielen dank für den tip, klappt soweit wunderbar, ausser ...

    die datei ist momentan 2960 byte groß und liegt im intranet.
    trotzdem dauert es recht lange, bis die datei geladen ist. danach läuft das scipt aber erst weiter.
    kann man das noch umgehen?
    also dass er im hintergrund die datei lädt und vergleicht, aber dabei das scipt weiter ausführt?

  • Frage zu _StringEncrypt

    • sc4ry
    • 19. Juni 2007 um 12:29

    hey,

    hab es jetzt mal getestet (aus dem com-forum)
    also unleserlich ist das script danach *g*
    aber anscheinend nicht nur für menschen ...

    ---------------------------
    AutoIt Error
    ---------------------------
    Line 0 (File "E:\AutoScrIpTs\Obfustest-STARTER_Obfuscated.exe"):

    If _Singleton(Execute($SA50F070512A), Number($SA4FF0805560)) = Number($SA30F0905834) Then
    If ^ ERROR

    Error: Unknown function name.
    ---------------------------
    OK
    ---------------------------

    nutzt ihr andere sachen, liegt es am singleton (function) oder hab ich was falsch gemacht?
    also normal läuft das script, um beim normalen compilen kommt auch kein fehler (sowohl die obgefuscated als auch die normale version)

  • Hidden Text

    • sc4ry
    • 19. Juni 2007 um 12:19

    hey, du hast recht, habe sie gefunden (liegt aber natürlich im intranet).

    wie wäre jetzt die idee, die info auszulesen?
    direkt über die seite, oder öffne ich die seite im hintergrund?

  • Hidden Text

    • sc4ry
    • 19. Juni 2007 um 12:10

    Hiho,

    hab ein prob. ich habe ein programm, dass nach dem boot verschiedene fenster schließt (die sich automatisch öffnen).
    dabei ist 1 info-fenster ... was news enthält. diese sind für den großteil uninteressant bzw wird es auch nur dann aktualisiert, wenn es was neues gibt.
    aufpoppen tut es jedoch trotzdem, aber schließen darf man es natürlich nicht automatisch ;)

    meine idee war jetzt, einen teil des fensters auszulesen, und sofern die alte nachricht enthalten, wird es geschlossen. gibt es neue "neuigkeiten", soll es offen bleiben.

    aber ... das window info tool erkennt nur die buttons. nichtmal "hidden text". es ist eine nicht-editierbare editbox (ich kann den text markieren).

    wenn ich nun option: auto detect hidden text nutze, kann er den hidden text auch nicht erkennen (wohl logisch).
    gibt es denn eine andere möglichkeit, meine idee irgendwie zu realisieren???

    zweite idee wäre einfach, es nach x sek. zu schließen (aber dass ist nicht so gut wie meine erste idee *g*)

    zur veranschaulichung hab ich noch ein bild gemacht.

    Dateien

    hiddentext.jpg 95,55 kB – 0 Downloads
  • Problem mit FileCreateShortcut

    • sc4ry
    • 18. Juni 2007 um 14:34

    also ich lasse es so ausführen ...

    FileCreateShortcut(@AutoItExe, @StartupDir & "\" & $script & ".lnk")

    und das kommt dabei raus ...

    "C:\Documents and Settings\username\Desktop\AutoIT Projekte\S.T.A.R.T.E.R_V3.exe"

    nutz doch @TempDir - path to the temporary files folder

    FileCreateShortCut(@WindowsDir & "\notepad.exe", @tempdir & "\test.txt", @WindowsDir)

    wieso eigentlich txt ?

  • Shutdown-Timer

    • sc4ry
    • 18. Juni 2007 um 14:11

    Update 12.03.098 10:24

    Wichtig: Script läuft nur als EXE

    Pause-Funktion läuft nun richtig

    Das Tool soll den PC zeitgesteuert Runterfahren/ Rebooten oder den User ausloggen. Der Zeitraum kann in Sek, Min, Std oder zu einer bestimmten Uhrzeit erfolgen. Es wird eine transparente Nachricht angezeigt, wo enthalten ist, welche Aktion ausgeführt wird, zu welcher Uhrzeit dies geschieht und wie lange es bis dahin noch dauert.

    Das Fenster kann über das Tray-Menü in jede beliebige Ecke verschoben und die Transparenz bestimmt werden. Das Fenster ist standardmäßig On Top, jedoch Ressistent gegen Eingaben, was bedeutet, dass man hindurchklicken kann. Damit sollte es nicht stören.

    On Top und Ressistenz können auch jeweils über das Tray-Menü ein-/ausgeschaltet werden.

    Das Script kann über das Tray-Menü oder über Hotkey END(E) beendet werden, oder über PAUSE pausiert.

    Zusätzlich lassen sich versteckte Einstellungen in einer Ini vornehmen, die die Standard-Einstellungen beeinflussen. Die Namen sollten selbsterklärend sein, sonst testen oder fragen ;)

    Name: SD_Settings.ini
    Sektion: Settings

    Schlüssel und Werte:

    No_Tray: 1, 0 (default) 1 = Yes, 0 = No
    Hide_Window: 1, 0 (default)
    On_Top: 1 (default), 0
    Resisstant: 1 (default), 0

    Corner: 1 (links oben), 2 (rechts oben), 3 (rechts unten), 4 (links unten)
    Transparence: 0 - 100

    Zur Zeit lässt sich das Tool nur über die CMD bedienen, ich bastel aber noch ein MiniGui, was ich die Tage Online stellen werde.
    EDIT:
    Gui ist integriert
    Alle erweiterten Einstellungen die über das Tray-Menü aufgerufen werden können, können nun auch direkt im GUI am Anfang eingestellt werden.
    Man kann nun auch alle Einstellungen, die über das Tray-Menü oder Gui vorgenommen werden können, über die CMD steuern. Zu beachten ist, das Parameter 1 - 3 immer gleich und vorhanden sein müssen. dahinter können die verschieden parameter, die genutzt werden sollen, angehängt werden.

    Possible Commands are...

    Parameter 1:
    -l = Logoff
    -r = Reboot
    -s = Shutdown

    Parameter 2:
    -s = Seconds
    -m = Minutes
    -h = Hours
    -t = Time

    Parameter 3:
    0 - 9 (or a time 09:30)

    Parameter 4 - n
    -notray (versteckt das Tray-Icon, wird standardmäßig angezeigt)
    -hide (versteckt das "Zeitfenster", wird standardmäßig angezeigt)
    -notop (Fenster ist NICHT on Top, standardmäßig on Top)
    -noresist (Fenster ist NICHT immun gegen Eingaben, man kann NICHT durchklicken, standardmäßig immun gegen Eingaben)
    -corner 1|2|3|4 (Fenster wird in definierter Ecke angezeigt, standardmäßig 1 (links oben))
    -trans 0-100 (Transparenz des Fensters in Prozent, standardmäßig 10% transparenz)

    Example: sd.exe -s -m 10
    Fährt den PC in 10 Min. runter.

    Example: sd.exe -l -h 3 -notray -notop -trans 60 -corner 3
    Loggt den User nach 3 Stunden aus. Es wird kein Tray-Symbol angezeigt, das Fenster ist NICHT On Top, Transparenz liegt bei 60% und die Anzeige erfolgt über dem Systray.
    WICHTIG: die Pause-Funktion hält zZ. nur die Zeitanzeige an, diese läuft aber im Hintergrund weiter. Wer eine Idee hat, wie ich das abstelle, her damit ;)

    Spoiler anzeigen
    [autoit]


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=..\..\..\Icons\sd.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <Array.au3>
    #include <Date.au3>
    #include <WinAPI.au3>
    #include <Constants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ButtonConstants.au3>
    #Include <Misc.au3>

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

    ;
    ; Shutdown
    ;

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

    ; © sc4ry

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

    If _Singleton(@ScriptName, 1) = 0 Then Exit Msgbox(16,"Warning","An occurence is already running", 10)

    $ini = @ScriptDir & "\SD_Settings.ini"

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

    Global $handle, $NoTray, $Hide, $Trans, $Corner, $Resist, $Top, $T3, $T4, $T5, $T2_1, $T2_2, $T2_3, $T2_4, $T1_1, $T1_2, $T1_3, $T1_4, $T1_5, $T1_6, $T1_7, $T1_8, $T1_9, $T1_10, $T1_11, $H, $M, $S
    Global $bHook = 1, $head, $sec, $end, $secShow

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

    Opt("TrayOnEventMode", 1)
    Opt("TrayAutoPause",0)
    Opt("TrayMenuMode",1)

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

    $NoTray = IniRead($ini, "Settings", "No_Tray", "0")
    $Corner = IniRead($ini, "Settings", "Corner", "1")
    $Hide = IniRead($ini, "Settings", "Hide_Window", "0")
    $Trans = IniRead($ini, "Settings", "Transparence", "10")
    $Top = IniRead($ini, "Settings", "On_Top", "1")
    $Resist = IniRead($ini, "Settings", "Resisstant", "1")

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

    If $CmdLine[0] = 0 Then
    #Region ### START Koda GUI section ### Form=
    $Form1_1 = GUICreate("Shutdown by sc4ry", 211, 134, 600, Default)
    $Group1 = GUICtrlCreateGroup("Method", 0, 0, 209, 41)
    $Radio1 = GUICtrlCreateRadio("Shutdown", 11, 16, 73, 17)
    GUICtrlSetState(-1, 1)
    $Radio2 = GUICtrlCreateRadio("Reboot", 85, 16, 57, 17)
    $Radio3 = GUICtrlCreateRadio("Logout", 146, 16, 57, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Time", 0, 42, 209, 89)
    $Radio4 = GUICtrlCreateRadio("Hours", 8, 58, 65, 17)
    $Radio5 = GUICtrlCreateRadio("Minutes", 8, 74, 65, 17)
    GUICtrlSetState(-1, 1)
    $Radio6 = GUICtrlCreateRadio("Seconds", 8, 90, 65, 17)
    $Radio7 = GUICtrlCreateRadio("Time", 8, 106, 65, 17)
    $Input1 = GUICtrlCreateInput("", 79, 76, 81, 21)
    $Button1 = GUICtrlCreateButton(">", 195, 56, 9, 49, 0)
    GUICtrlSetTip(-1, "Shows advanced Settings")
    $Button2 = GUICtrlCreateButton("OK", 165, 111, 41, 17, $BS_DEFPUSHBUTTON )
    GUICtrlSetState($Input1, $GUI_FOCUS)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Advanced", 171, 134, 818, Default, Default, Default, $Form1_1)
    $Checkbox1 = GUICtrlCreateCheckbox("No Tray", 2, 3, 89, 17)
    If $NoTray = 1 Then GUICtrlSetState(-1, 1)
    $Checkbox2 = GUICtrlCreateCheckbox("Hide Window", 2, 20, 89, 17)
    If $Hide = 1 Then GUICtrlSetState(-1, 1)
    $Checkbox3 = GUICtrlCreateCheckbox("On Top", 2, 37, 89, 17)
    If $Top = 1 Then GUICtrlSetState(-1, 1)
    $Checkbox4 = GUICtrlCreateCheckbox("Resisstant", 2, 53, 89, 17)
    If $Resist = 1 Then GUICtrlSetState(-1, 1)
    $Label1 = GUICtrlCreateLabel("Corner", 0, 80, 67, 17)
    $Label2 = GUICtrlCreateLabel("Transparence", 0, 107, 70, 17)
    $Combo1 = GUICtrlCreateCombo("", 72, 77, 97, 25)
    Select
    Case $Corner = 1
    GUICtrlSetData(-1, "Left Top|Right Top|Right Bottom|Left Bottom|Full Screen", "Left Top")
    Case $Corner = 2
    GUICtrlSetData(-1, "Left Top|Right Top|Right Bottom|Left Bottom|Full Screen", "Right Top")
    Case $Corner = 3
    GUICtrlSetData(-1, "Left Top|Right Top|Right Bottom|Left Bottom|Full Screen", "Right Bottom")
    Case $Corner = 4
    GUICtrlSetData(-1, "Left Top|Right Top|Right Bottom|Left Bottom|Full Screen", "Left Bottom")
    Case $Corner = 5
    GUICtrlSetData(-1, "Left Top|Right Top|Right Bottom|Left Bottom|Full Screen", "Left Bottom")
    Case Else
    GUICtrlSetData(-1, "Left Top|Right Top|Right Bottom|Left Bottom|Full Screen", "Full Screen")
    EndSelect
    $Combo2 = GUICtrlCreateCombo("", 72, 104, 65, 25)
    GUICtrlSetData(-1, "0|10|20|30|40|50|60|70|80|90|100", $Trans)
    $Label3 = GUICtrlCreateLabel("%", 148, 108, 12, 17)
    GUISetState(@SW_SHOW, $Form1_1)
    #EndRegion ### END Koda GUI section ###

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

    $GUIPos = WinGetPos($Form1_1)

    GUIRegisterMsg($WM_MOVE, "_MoveUrAss")

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $WGS = WinGetState($Form2)
    If $WGS = 5 Then
    GUISetState(@SW_SHOW, $Form2)
    Else
    GUISetState(@SW_HIDE, $Form2)
    EndIf
    Case $Button2
    $ValueI1 = GUICtrlRead($Input1)
    If $ValueI1 = "" Then
    MsgBox(16, "Error", "You have to enter some Numbers")
    ContinueLoop
    EndIf
    $ValueR1 = GUICtrlRead($Radio1)
    $ValueR2 = GUICtrlRead($Radio2)
    $ValueR3 = GUICtrlRead($Radio3)
    $ValueR4 = GUICtrlRead($Radio4)
    $ValueR5 = GUICtrlRead($Radio5)
    $ValueR6 = GUICtrlRead($Radio6)
    $ValueR7 = GUICtrlRead($Radio7)
    If $ValueR1 = 1 Then
    $Par1 = " -s "
    ElseIf $ValueR2 = 1 Then
    $Par1 = " -r "
    ElseIf $ValueR3 = 1 Then
    $Par1 = " -l "
    EndIf
    If $ValueR4 = 1 Then
    $Par2 = "-h "
    ElseIf $ValueR5 = 1 Then
    $Par2 = "-m "
    ElseIf $ValueR6 = 1 Then
    $Par2 = "-s "
    ElseIf $ValueR7 = 1 Then
    $Par2 = "-t "
    EndIf
    $ValueCB1 = GUICtrlRead($Checkbox1)
    $ValueCB2 = GUICtrlRead($Checkbox2)
    $ValueCB3 = GUICtrlRead($Checkbox3)
    $ValueCB4 = GUICtrlRead($Checkbox4)
    $ValueC1 = GUICtrlRead($Combo1)
    $ValueC2 = GUICtrlRead($Combo2)
    $Par3 = " "
    If $ValueCB1 = 1 Then $Par3 = $Par3 & "-notray "
    If $ValueCB2 = 1 Then $Par3 = $Par3 & "-hide "
    If $ValueCB3 = 0 Then $Par3 = $Par3 & "-notop "
    If $ValueCB4 = 0 Then $Par3 = $Par3 & "-noresist "
    If $ValueC2 <> "" Then $Par3 = $Par3 & "-trans " & $ValueC2 & " "
    If $ValueC1 <> "" Then
    Select
    Case $ValueC1 = "Left Top"
    $Par3 = $Par3 & "-corner 1"
    Case $ValueC1 = "Right Top"
    $Par3 = $Par3 & "-corner 2"
    Case $ValueC1 = "Right Bottom"
    $Par3 = $Par3 & "-corner 3"
    Case $ValueC1 = "Left Bottom"
    $Par3 = $Par3 & "-corner 4"
    Case $ValueC1 = "Full Screen"
    $Par3 = $Par3 & "-corner 5"
    Case Else
    $Par3 = $Par3 & "-corner 1"
    EndSelect
    EndIf
    ShellExecute(@AutoItExe, $Par1 & $Par2 & $ValueI1 & $Par3, @ScriptDir)
    Exit
    EndSwitch
    WEnd
    EndIf

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

    HotKeySet("!{END}", "_ToogleTray") ;show/hide Tray
    HotKeySet("{End}", "_kill")
    Global $Paused
    HotKeySet("{PAUSE}", "TogglePause")

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

    TraySetToolTip("ShutDown by sc4ry")

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

    _createTray()

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

    If $CmdLine[0] >= 3 Then
    If $CmdLine[1] = "-l" Or $CmdLine[1] = "-s" Or $CmdLine[1] = "-r" Then
    $Funktion = $CmdLine[1]
    If $CmdLine[2] = "-t" Or $CmdLine[2] = "-h" Or $CmdLine[2] = "-m" Or $CmdLine[2] = "-s" Then
    $TimeZone = $CmdLine[2]
    If StringRegExp($CmdLine[3], "[0-9]+") Then
    $Countdown = $CmdLine[3]
    If _ArraySearch($CmdLine, "-notray") <> -1 Then $NoTray = 1
    If _ArraySearch($CmdLine, "-hide") <> -1 Then $Hide = 1
    If _ArraySearch($CmdLine, "-notop") <> -1 Then $Top = 0
    If _ArraySearch($CmdLine, "-noresist") <> -1 Then $Resist = 0
    $vValue = _ArraySearch($CmdLine, "-corner")
    If $vValue <> -1 Then $Corner = $CmdLine[$vValue + 1]
    If $Corner < 1 Then
    $Corner = 1
    ElseIf $Corner > 5 Then
    $Corner = 4
    EndIf
    $vValue = _ArraySearch($CmdLine, "-trans")
    If $vValue <> -1 Then $Trans = $CmdLine[$vValue + 1]
    If $Trans < 0 Then
    $Trans = 0
    ElseIf $Trans > 100 Then
    $Trans = 100
    EndIf
    _countDown($Countdown)
    Else
    _Help()
    EndIf
    Else
    _Help()
    EndIf
    Else
    _Help()
    EndIf
    Else
    _Help()
    EndIf

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

    Func _MoveUrAss()
    $GuiPosExt = WinGetPos($Form1_1)
    If Not $GuiPosExt[0] <> $GUIPos[0] Or $GuiPosExt[1] <> $GUIPos[1] Then
    WinMove($Form2, "", $GuiPosExt[0] + 217, $GuiPosExt[1])
    EndIf
    EndFunc ;==>_MoveUrAss

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

    ;countdown Function
    Func _countDown($Countdown)
    ;action?
    If $CmdLine[1] = "-l" Then
    $head = "Logoff"
    ElseIf $CmdLine[1] = "-s" Then
    $head = "Shutdown"
    ElseIf $CmdLine[1] = "-r" Then
    $head = "Reboot"
    EndIf

    ;countdowns
    If $CmdLine[2] = "-s" Then
    $ttt = _TimeToTicks(@HOUR, @MIN)
    $ttt2 = _TimeToTicks(0, 0, $Countdown)
    _TicksToTime($ttt + $ttt2, $H, $M, $S)
    If StringLen($H) = 1 Then $H = 0 & $H
    If $H >= 24 Then
    Do
    $H = $H - 24
    Until $H <= 24
    If StringLen($H) = 1 Then $H = 0 & $H
    EndIf
    If StringLen($M) = 1 Then $M = 0 & $M
    If StringLen($S) = 1 Then $S = 0 & $S
    $handle = SplashTextOn($head, "", 130, 50, 1, 1, 1, "", 10, 400)
    _Do_Settings()
    _FinalCountDown($Countdown, 0, 0, 0, True)
    EndIf

    If $CmdLine[2] = "-m" Then
    $ttt = _TimeToTicks(@HOUR, @MIN)
    $ttt2 = _TimeToTicks(0, $Countdown)
    _TicksToTime($ttt + $ttt2, $H, $M, $S)
    If StringLen($H) = 1 Then $H = 0 & $H
    If $H >= 24 Then
    Do
    $H = $H - 24
    Until $H <= 24
    If StringLen($H) = 1 Then $H = 0 & $H
    EndIf
    If StringLen($M) = 1 Then $M = 0 & $M
    If StringLen($S) = 1 Then $S = 0 & $S
    $handle = SplashTextOn($head, "", 130, 50, 1, 1, 1, "", 10, 400)
    _Do_Settings()
    _FinalCountDown(0, $Countdown, 0, 0, True)
    EndIf

    If $CmdLine[2] = "-h" Then
    $ttt = _TimeToTicks(@HOUR, @MIN)
    $ttt2 = _TimeToTicks(0, $Countdown * 60)
    _TicksToTime($ttt + $ttt2, $H, $M, $S)
    If StringLen($H) = 1 Then $H = 0 & $H
    If $H >= 24 Then
    Do
    $H = $H - 24
    Until $H <= 24
    If StringLen($H) = 1 Then $H = 0 & $H
    EndIf
    If StringLen($M) = 1 Then $M = 0 & $M
    If StringLen($S) = 1 Then $S = 0 & $S
    $handle = SplashTextOn($head, "", 130, 50, 1, 1, 1, "", 10, 400)
    _Do_Settings()
    _FinalCountDown(0, 0, $Countdown, 0, True)
    EndIf

    If $CmdLine[2] = "-t" Then
    $ShutDownTime = $CmdLine[3]
    If $ShutDownTime < @HOUR & ':' & @MIN Then
    $now = @YEAR & '/' & @MON & '/' & @MDAY+1
    Else
    $now = @YEAR & '/' & @MON & '/' & @MDAY
    EndIf
    $string = StringSplit($ShutDownTime, ":")
    If Not @error Then
    $H = $string[1]
    $M = $string[2]
    Else
    Exit MsgBox(16, "Error", "Wrong Format")
    EndIf
    $min = _DateDiff('n', _NowCalc(), $now & ' ' & $ShutDownTime )
    $Countdown = $min + 1
    $handle = SplashTextOn($head, "", 130, 50, 1, 1, 1, "", 10, 400)
    _Do_Settings()
    _FinalCountDown(0, $Countdown, 0, 0, True)
    EndIf

    ;action
    If $CmdLine[1] = "-l" Then
    ;~ Shutdown(4) ; Logoff und Force
    SplashTextOn("", $head, 150, 30, -1, -1, 1 + 32, "", "", 1000)
    While 1
    Sleep(1)
    WEnd
    ElseIf $CmdLine[1] = "-s" Then
    ;~ Shutdown(13) ; Shutdown, Powerdown und Force
    SplashTextOn("", $head, 150, 30, -1, -1, 1 + 32, "", "", 1000)
    While 1
    Sleep(1)
    WEnd
    ElseIf $CmdLine[1] = "-r" Then
    ;~ Shutdown(6) ; Reboot und Force
    SplashTextOn("", $head, 150, 30, -1, -1, 1 + 32, "", "", 1000)
    While 1
    Sleep(1)
    WEnd
    EndIf
    EndFunc ;==>_countDown

    Func _FinalCountDown($SEC, $MIN=0, $HOUR=0, $DAY=0, $VISIBLEDOWN=True)
    $Sekunden = $SEC + $MIN*60 + $HOUR*3600 + $DAY*86400
    $end = _DateAdd('s', $Sekunden, _NowCalc())
    Local $message
    Do
    Sleep(100)
    $sec = _DateDiff('s', _NowCalc(), $end)
    If Not $VISIBLEDOWN Then
    $secShow = $Sekunden - $sec
    Else
    $secShow = $sec
    EndIf
    Select
    Case $secShow < 60
    ControlSetText($handle, "", "[CLASS:Static; INSTANCE:1]", $head & @CRLF & "at: " & $H & ":" & $M & @CRLF & "in: " & StringFormat('%02u', $secShow) & ' s')
    Case $secShow < 60*60
    $message = StringFormat('%02u', Floor($secShow/60)) & ':' & _
    StringFormat('%02u', Mod($secShow,60)) & ' min'
    ControlSetText($handle, "", "[CLASS:Static; INSTANCE:1]", $head & @CRLF & "at: " & $H & ":" & $M & @CRLF & "in: " & $message)
    Case $secShow < 60*60*24
    $message = StringFormat('%02u', Floor($secShow/3600)) & ':' & _
    StringFormat('%02u', Floor(Mod($secShow,3600)/60)) & ':' & _
    StringFormat('%02u', Mod(Mod($secShow,3600),60)) & ' h'
    ControlSetText($handle, "", "[CLASS:Static; INSTANCE:1]", $head & @CRLF & "at: " & $H & ":" & $M & @CRLF & "in: " & $message)
    Case Else
    $message = Floor($secShow/86400) & ' d / ' & _
    StringFormat('%02u', Floor(Mod($secShow,86400)/3600)) & ':' & _
    StringFormat('%02u', Floor(Mod(Mod($secShow,86400),3600)/60)) & ':' & _
    StringFormat('%02u', Mod(Mod(Mod($secShow,86400),3600),60)) & ' h'
    ControlSetText($handle, "", "[CLASS:Static; INSTANCE:1]", $head & @CRLF & "at: " & $H & ":" & $M & @CRLF & "in: " & $message)
    EndSelect
    $pos = WinGetPos($handle)
    ;~ Exit MsgBox(0, _WinIsOnTop($handle), $pos[2] & @TAB & @DesktopWidth - 2 & @CRLF & $pos[3] & @TAB & @DesktopHeight - 2)
    If $pos[2] = @DesktopWidth - 2 And $pos[3] = @DesktopHeight - 2 And _WinIsOnTop($handle) Then WinSetOnTop($handle, "", 1)
    Until $sec = 0
    EndFunc ;==>_CountDown by BugFix ([email='bugfix@autoit.de'][/email])

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

    Func _createTray()
    $T1 = TrayCreateMenu("Transparence")
    $T1_1 = TrayCreateItem("0 %", $T1, -1, 1)
    TrayItemSetOnEvent(-1, "_Trans")
    $T1_2 = TrayCreateItem("10 %", $T1, -1, 1)
    TrayItemSetOnEvent(-1, "_Trans")
    $T1_3 = TrayCreateItem("20 %", $T1, -1, 1)
    TrayItemSetOnEvent(-1, "_Trans")
    $T1_4 = TrayCreateItem("30 %", $T1, -1, 1)
    TrayItemSetOnEvent(-1, "_Trans")
    $T1_5 = TrayCreateItem("40 %", $T1, -1, 1)
    TrayItemSetOnEvent(-1, "_Trans")
    $T1_6 = TrayCreateItem("50 %", $T1, -1, 1)
    TrayItemSetOnEvent(-1, "_Trans")
    $T1_7 = TrayCreateItem("60 %", $T1, -1, 1)
    TrayItemSetOnEvent(-1, "_Trans")
    $T1_8 = TrayCreateItem("70 %", $T1, -1, 1)
    TrayItemSetOnEvent(-1, "_Trans")
    $T1_9 = TrayCreateItem("80 %", $T1, -1, 1)
    TrayItemSetOnEvent(-1, "_Trans")
    $T1_10 = TrayCreateItem("90 %", $T1, -1, 1)
    TrayItemSetOnEvent(-1, "_Trans")
    $T1_11 = TrayCreateItem("100 %", $T1, -1, 1)
    TrayItemSetOnEvent(-1, "_Trans")
    $T2 = TrayCreateMenu("Corner")
    $T2_1 = TrayCreateItem("Top Left", $T2, -1, 1)
    TrayItemSetOnEvent(-1, "_Corner")
    $T2_2 = TrayCreateItem("Top Right", $T2, -1, 1)
    TrayItemSetOnEvent(-1, "_Corner")
    $T2_3 = TrayCreateItem("Bottem Right", $T2, -1, 1)
    TrayItemSetOnEvent(-1, "_Corner")
    $T2_4 = TrayCreateItem("Bottom Left", $T2, -1, 1)
    TrayItemSetOnEvent(-1, "_Corner")
    $T2_5 = TrayCreateItem("Full Screen", $T2)
    TrayItemSetOnEvent(-1, "_Corner")
    TrayCreateItem("")
    $T3 = TrayCreateItem("Resisstant")
    TrayItemSetOnEvent(-1, "_Resist")
    $T4 = TrayCreateItem("On Top")
    TrayItemSetState(-1, 1)
    TrayItemSetOnEvent(-1, "_Top")
    ;~ $T5 = TrayCreateItem("Pause")
    ;~ TrayItemSetOnEvent(-1, "TogglePause")
    TrayCreateItem("")
    $T6 = TrayCreateItem("Exit")
    TrayItemSetOnEvent(-1, "_kill")
    EndFunc

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

    Func _kill()
    Exit
    EndFunc ;==>_kill

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

    Func _Do_Settings()
    If $NoTray = "1" Then Opt("TrayIconHide", 1)
    If $Hide = 1 Then WinSetState($handle, "", @SW_HIDE)
    WinSetTrans($handle, "", (100 - $Trans) * 255 / 100)
    ;~ If Not $TransValue = 0 Or $TransValue = 10 Or $TransValue = 20 Or $TransValue = 30 Or $TransValue = 40 Or $TransValue = 50 Or $TransValue = 60 Or $TransValue = 70 Or $TransValue = 80 Or $TransValue = 90 Or $TransValue = 100 Then $TransValue = Round($TransValue, -1)
    If $Trans <> 0 And $Trans <> 10 And $Trans <> 20 And $Trans <> 30 And $Trans <> 40 And $Trans <> 50 And $Trans <> 60 And $Trans <> 70 And $Trans <> 80 And $Trans <> 90 And $Trans <> 100 Then $Trans = Round($Trans, -1)
    Select
    Case $Trans = "0"
    TrayItemSetState($T1_1, 1)
    Case $Trans = "10"
    TrayItemSetState($T1_2, 1)
    Case $Trans = "20"
    TrayItemSetState($T1_3, 1)
    Case $Trans = "30"
    TrayItemSetState($T1_4, 1)
    Case $Trans = "40"
    TrayItemSetState($T1_5, 1)
    Case $Trans = "50"
    TrayItemSetState($T1_6, 1)
    Case $Trans = "60"
    TrayItemSetState($T1_7, 1)
    Case $Trans = "70"
    TrayItemSetState($T1_8, 1)
    Case $Trans = "80"
    TrayItemSetState($T1_9, 1)
    Case $Trans = "90"
    TrayItemSetState($T1_10, 1)
    Case $Trans = "100"
    TrayItemSetState($T1_11, 1)
    EndSelect
    If $Resist = 1 Then
    _Win_SetClickThrough($handle, "", True)
    TrayItemSetState($T3, 1)
    EndIf
    If $Top = 0 Then
    WinSetOnTop($handle, "", 0)
    TrayItemSetState($T4, 4)
    EndIf
    Select
    Case $Corner = 1
    $x = 1
    $y = 1
    TrayItemSetState($T2_1, 1)
    Case $Corner = 2
    $x = @DesktopWidth - 132
    $y = 1
    TrayItemSetState($T2_2, 1)
    Case $Corner = 3
    $x = @DesktopWidth - 132
    $y = @DesktopHeight - 80
    TrayItemSetState($T2_3, 1)
    Case $Corner = 4
    $x = 1
    $y = @DesktopHeight - 80
    TrayItemSetState($T2_4, 1)
    Case $Corner = 5
    $x = 1
    $y = 1
    Case Else
    $x = 1
    $y = 1
    TrayItemSetState($T2_1, 1)
    EndSelect
    If $Corner = 5 Then
    WinMove($handle, "", $x, $y, @DesktopWidth - 2, @DesktopHeight - 2)
    Else
    WinMove($handle, "", $x, $y, 130, 50)
    EndIf
    EndFunc

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

    Func _Help()
    If Not _WinAPI_AttachConsole() Then
    $ret = DllCall("Kernel32.dll", "long", "AllocConsole")
    If $ret = 0 Then Exit
    EndIf
    $hConsole = _WinAPI_GetStdHandle(1)
    $hConsoleIn = _WinAPI_GetStdHandle(0)
    If $hConsole = -1 Then Exit
    _WinAPI_WriteConsole($hConsole, @CRLF & @CRLF & 'Possible Commands are...' & @CRLF & @CRLF & 'Parameter 1:' & @CRLF & '-l = Logoff' & @CRLF & '-r = Reboot' & @CRLF & '-s = Shutdown' & @CRLF & @CRLF & 'Parameter 2:' & @CRLF & '-s = Seconds' & @CRLF & '-m = Minutes' & @CRLF & '-h = Hours' & @CRLF & '-t = Time' & @CRLF & @CRLF & 'Parameter 3:' & @CRLF & '0 - 9' & @CRLF & @CRLF & 'Example: ' & @ScriptName & ' -s -m 10' & @CRLF & @CRLF & 'This will shutdown your PC in 10 Minutes'& @CRLF & @CRLF & 'Press ENTER to Continue' & @CRLF & @CRLF)
    Exit
    EndFunc

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

    Func _Resist()
    $Style = _WinAPI_GetWindowLong($handle,$GWL_EXSTYLE)
    If BitAND($Style,$WS_EX_TRANSPARENT) = $WS_EX_TRANSPARENT And BitAND($Style,$WS_EX_LAYERED) = $WS_EX_LAYERED Then
    _Win_SetClickThrough($handle, "", False)
    Else
    _Win_SetClickThrough($handle, "", True)
    EndIf
    EndFunc

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

    Func _Top()
    WinSetOnTop($handle, "", Not _WinIsOnTop($handle))
    EndFunc

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

    Func _Corner()
    Select
    Case @TRAY_ID = 20
    $x = 1
    $y = 1
    TrayItemSetState($T2_1, 1)
    Case @TRAY_ID = 21
    $x = @DesktopWidth - 132
    $y = 1
    TrayItemSetState($T2_2, 1)
    Case @TRAY_ID = 22
    $x = @DesktopWidth - 132
    $y = @DesktopHeight - 105
    TrayItemSetState($T2_3, 1)
    Case @TRAY_ID = 23
    $x = 1
    $y = @DesktopHeight - 105
    TrayItemSetState($T2_4, 1)
    Case @TRAY_ID = 24
    $x = 1
    $y = 1
    EndSelect
    If @TRAY_ID = 24 Then
    WinMove($handle, "", $x, $y, @DesktopWidth - 2, @DesktopHeight - 2)
    Else
    WinMove($handle, "", $x, $y, 130, 50)
    EndIf
    EndFunc

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

    func _Trans()
    Select
    Case @TRAY_ID = 8
    WinSetTrans($handle, "", 255)
    TrayItemSetState($T1_1, 1)
    Case @TRAY_ID = 9
    WinSetTrans($handle, "", 90 * 255 / 100)
    TrayItemSetState($T1_2, 1)
    Case @TRAY_ID = 10
    WinSetTrans($handle, "", 80 * 255 / 100)
    TrayItemSetState($T1_3, 1)
    Case @TRAY_ID = 11
    WinSetTrans($handle, "", 70 * 255 / 100)
    TrayItemSetState($T1_4, 1)
    Case @TRAY_ID = 12
    WinSetTrans($handle, "", 60 * 255 / 100)
    TrayItemSetState($T1_5, 1)
    Case @TRAY_ID = 13
    WinSetTrans($handle, "", 50 * 255 / 100)
    TrayItemSetState($T1_6, 1)
    Case @TRAY_ID = 14
    WinSetTrans($handle, "", 40 * 255 / 100)
    TrayItemSetState($T1_7, 1)
    Case @TRAY_ID = 15
    WinSetTrans($handle, "", 30 * 255 / 100)
    TrayItemSetState($T1_8, 1)
    Case @TRAY_ID = 16
    WinSetTrans($handle, "", 20 * 255 / 100)
    TrayItemSetState($T1_9, 1)
    Case @TRAY_ID = 17
    WinSetTrans($handle, "", 10 * 255 / 100)
    TrayItemSetState($T1_10, 1)
    Case @TRAY_ID = 18
    WinSetTrans($handle, "", 0)
    TrayItemSetState($T1_11, 1)
    EndSelect
    EndFunc

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

    Func _WinIsOnTop($WindowHandle)
    Local $long = _WinAPI_GetWindowLong(WinGetHandle($WindowHandle),$GWL_EXSTYLE)
    Return BitAND($long,8)=8 ; $WS_EX_TOPMOST = 8
    EndFunc ; Author(s): Prog@ndy

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

    Func _Win_SetClickThrough($title,$text = "",$noclic = True)
    Local $hWnd = WinGetHandle($title,$text)
    If @error Then Return SetError(1,0,0)
    If $noclic Then
    _WinAPI_SetWindowLong($hWnd,$GWL_EXSTYLE,BitOR(_WinAPI_GetWindowLong($hWnd,$GWL_EXSTYLE),$WS_EX_TRANSPARENT))
    If @error Then Return SetError(2,0,0)
    Else
    _WinAPI_SetWindowLong($hWnd,$GWL_EXSTYLE,BitAND(_WinAPI_GetWindowLong($hWnd,$GWL_EXSTYLE),BitNOT($WS_EX_TRANSPARENT)))
    If @error Then Return SetError(2,0,0)
    EndIf
    Return 1
    EndFunc ; Author(s): Prog@ndy

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

    Func _ToogleTray()
    Opt("TrayIconHide", Not Opt("TrayIconHide", "Default"))
    EndFunc

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

    Func TogglePause()
    $Paused = Not $Paused
    $time = 0
    While $Paused
    ControlSetText($handle, "", "[CLASS:Static; INSTANCE:1]", @CRLF & 'Script is "Paused"')
    Sleep(1000)
    $time += 1
    $end = _DateAdd('s', 1, $end)
    WEnd
    $ttt = _TimeToTicks($H, $M)
    $ttt2 = _TimeToTicks(0, 0, $time)
    _TicksToTime($ttt + $ttt2, $H, $M, $S)
    EndFunc ;==>TogglePause

    [/autoit]
  • Script springt zurück, oder was ist falsch?

    • sc4ry
    • 18. Juni 2007 um 14:01

    hey bugfix,

    danke dir. ich glaube das löst auch direkt das prob, wenn ich heute um 11 uhr eine shutdown-zeit von 01:00 uhr eingebe, oder?

    super, glaube dann bin ich so gut wie durch *freu*
    wir sehen uns in der script-ecke =)

    PS: natürlich dank an alle die mir weitergeholfen haben

  • Script springt zurück, oder was ist falsch?

    • sc4ry
    • 18. Juni 2007 um 09:35

    ui, super, klappt wunderbar für minuten und stunden (war nicht viel zu ändern *g*)

    nun aber eine letzte frage:

    ich würde auch gerne eingeben können, dass der pc zu einer bestimmten uhrzeit runterfährt.
    meine idee ist, dass die zeit eingegeben wird (hh:mm) und anschließend davon die aktuelle uhrzeit abgezogen wird. dann bleibt z.b. 2:55 über, was ich dann wieder an die funktion von bernd übergeben kann.

    leider klappt das nicht so einfach wie gedacht. die eigegebene zeit - _NowTime(3) ergibt immer 0.

    gibts da eine andere idee für ... spontan würde mir noch stringsplit einfallen, aber irgendwie bin ich mir recht unsicher ob das funktionieren würde (kanns auch grad auf der arbeit nicht testen) =(

  • IE prob

    • sc4ry
    • 15. Juni 2007 um 18:43

    weil es auf einmal nicht mehr funktioniert, obwohl ich nichts geändert habe (ausser den @sw_hide) ... ich versteh es irgendwie nicht.

    naja, dank dir, werd es am montag weiter testen =)

  • IE prob

    • sc4ry
    • 15. Juni 2007 um 16:54
    [autoit]

    ;ie settings
    If $ieaxx = 1 Then
    $oIE = _IECreate ("https://proxy.de.blubb/?dest=http://www.google.de/",0,0,1,0)
    $oHWND = _IEPropertyGet($oIE, "hwnd")
    WinSetState ($oHWND, "", @SW_MAXIMIZE )
    WinSetState ($oHWND, "", @SW_SHOW )
    $LocationURL = _IEPropertyget($oIE, "locationurl")
    $oForm = _IEFormGetCollection ($oIE, 0)
    $oUsername = _IEFormElementGetObjByName ($oForm, "user");anstatt $oIE kommt hier $oForm hin da sich diese funktion auf FormElemente bezieht!!!!
    $oPassword = _IEFormElementGetObjByName ($oForm, "pass");siehe oben
    ;MsgBox(0, "", $oForm & "\" & $oUsername & "\" & $oPassword)
    _IEFormElementSetValue ($oUsername, $ieuser);hier dürfte auf den ersten blcik kein fehle sein..
    _IEFormElementSetValue ($oPassword, $iepw);siehe oben
    _IEFormSubmit ($oForm);geht?!!
    _IELoadWait($oIE)
    ;$LocationURL = _IEPropertyget($oIE, "locationurl")
    ;If $LocationURL <> "www.google.de" Then MsgBox(16, "Error", "You could not be login for automatic internet-acess," & @CRLF & "maybe you choose a wrong password or it was changed." & @CRLF & "Please enter your new password, you can use the CommandLine-Parameters.")
    Else
    EndIf

    [/autoit]

    meinte das hier ...wenn ich da jetzt @SW_SHOW weglasse, würde es dann auch gehen, also die handles bei nem versteckten fenster auslesen und user/pw eingeben?

    xp, ie6, ka, wo seh ich das =)

  • Excel - kein AutoIt

    • sc4ry
    • 15. Juni 2007 um 13:40

    leider bin ich auf der arbeit, so dass da schon wichtige daten drin sind.
    aber dieses addin hat einen menüeintrag und das ganze kontextmenü erstellt.

    kann man nicht darüber eine ausführung erzwingen?

    Bilder

    • addin.jpg
      • 27,6 kB
      • 598 × 195
  • Excel - kein AutoIt

    • sc4ry
    • 15. Juni 2007 um 11:30

    Hallo,

    eine Frage. ich hab ein Add-in in Excel, über dass ich eine "auffrischung" der daten vornehmen kann.
    ich kann dies über einen rechtsklick, button oder über das menü ausführen, jedoch funzt das nicht per makro aufzeichnen.

    kann man das irgendwie händisch eintragen?
    evtl einen befehl wo ich nur was abändern muss, weil vba nicht meine welt ist *g*

  • Word öffnen

    • sc4ry
    • 15. Juni 2007 um 10:25

    zu ACCESS aber =)

  • IE prob

    • sc4ry
    • 15. Juni 2007 um 10:07

    diese funktion bringt mich noch an den rande des wahnsinns.
    mal funzt es, mal nicht ... ich versteh es nicht.

    aber mal eine frage dazu ... wenn es funktioniert, würde es auch gehen, wenn das fenster versteckt ist?

  • Script springt zurück, oder was ist falsch?

    • sc4ry
    • 14. Juni 2007 um 20:30

    vielen dank, ich werde es testen. wollte eigentlich auch noch einbauen, dass man mit kommentar runterfahren kann, aber ehrlich gesagt, braucht ich das doch nicht =)

    thx

    PS: klappt wunderbar. so kann man es eigentlich schon benutzen, nur 1 sachen gefällt mir noch nicht so, bzw eine weitere funzt noch nicht *g*

    zum einem soll man auch minuten eingeben können, die funktion dahinter ist folgende

    [autoit]

    If $CmdLine[2] = "-m" Then
    Local $begin = TimerInit(), $diff
    Do
    $diff = TimerDiff($begin)
    ToolTip("in " & Round(($Countdown *60 * 1000 - $diff) / 1000) & " Seconds", 0, 0, $head)
    Sleep(100)
    Until $diff >= $Countdown * 60 * 1000
    EndIf

    [/autoit]

    er rechnet die minuten in sekunden um, um gibt dann den coutdown in sekunden an. geb ich aber 60 oder 90 minuten ein, wirds irgendwann ziemlich blöd. besser wäre es, wenn er dann anzeigen würde: "in 59 Minutes & 55 Seconds" oder "in 59:55 Minutes"

    die andere sache wäre, eine uhrzeit einzugeben, und die differenz zwischen der uhrzeit und jetzt berechnet wird, was im selben format ausgegeben werden soll, bzw "in hh:mm:ss"

    bin leider noch nicht dahinter gestiegen, wie das geht =/

  • Shutdown Log

    • sc4ry
    • 14. Juni 2007 um 10:38

    Weil mich es interessiert, habe ich mir Hilfe von anderen Scripten einen Shutdown-Logger geschrieben.

    Die Log wird in einem Ordner unter Gemeinsame-Dokumente gespeichert, muss wahlweise angepasst werden (da eingeschränkte user und gäste so wenige schreibrechte haben *g*)

    vllt kanns wer gebrauchen

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon

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

    #include <Process.au3>

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

    $CurrentStart = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", "ShutdownLog")

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

    If $CurrentStart = '"' & @AutoItExe & '"' Then
    Else
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", "ShutdownLog", "REG_SZ", '"' & @AutoItExe & '"')
    EndIf

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

    If FileExists("C:\Dokumente und Einstellungen\All Users\Dokumente\log\") Then
    Else
    DirCreate("C:\Dokumente und Einstellungen\All Users\Dokumente\log\")
    _RunDOS('attrib "C:\Dokumente und Einstellungen\All Users\Dokumente\log" +h /S /D')
    EndIf

    Local $date = @YEAR & "-" & @MON & "-" & @MDAY
    Local $user32 = DllOpen("user32"), $log
    Local $log = "C:\Dokumente und Einstellungen\All Users\Dokumente\log\ShutdownLog_" & @username & ".html"
    opt("OnExitFunc", "Terminate")
    HotKeySet( "^{F9}", "Terminate1")

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

    FileWrite($log,'')
    FileOpen($log, 1)
    Sleep(100)
    FileWrite($log, '<font face=Verdana size=1>')

    FileWrite($log, '<center>[#[ Shutdown Log <b><font color=#00FF00 style=font-size:9px>Start</font></b> ' & @UserName & ' @ ' & @YEAR & '.' & @MON & '.' & @MDAY & ' @ <b><font color=#00FF00 style=font-size:9px>' & @HOUR & ':' & @MIN & ':' & @SEC & '</font></b> ]#] </center><<br>')

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

    While 1
    Sleep(1)
    WEnd

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

    Func Terminate()
    DllClose($user32)
    $close = @exitMethod
    If $close = 0 Then
    FileWrite($log, '<center>[#[ Shutdown Log <b><font color=#FF0000 style=font-size:9px>_Natural Shutdown_</font></b> ' & @UserName & ' @ ' & @YEAR & '.' & @MON & '.' & @MDAY & ' @ <b><font color=#FF0000 style=font-size:9px>' & @HOUR & ':' & @MIN & ':' & @SEC & ' </font></b> ]#] </font></center></b><br>')
    ElseIf $close = 1 Then
    FileWrite($log, '<center>[#[ Shutdown Log <b><font color=#FF0000 style=font-size:9px>_Exit Function_</font></b> ' & @UserName & ' @ ' & @YEAR & '.' & @MON & '.' & @MDAY & ' @ <b><font color=#FF0000 style=font-size:9px>' & @HOUR & ':' & @MIN & ':' & @SEC & ' </font></b> ]#] </font></center></b><br>')
    ElseIf $close = 2 Then
    FileWrite($log, '<center>[#[ Shutdown Log <b><font color=#FF0000 style=font-size:9px>_Systray Shutdown_</font></b> ' & @UserName & ' @ ' & @YEAR & '.' & @MON & '.' & @MDAY & ' @ <b><font color=#FF0000 style=font-size:9px>' & @HOUR & ':' & @MIN & ':' & @SEC & ' </font></b> ]#] </font></center></b><br>')
    ElseIf $close = 3 Then
    FileWrite($log, '<center>[#[ Shutdown Log <b><font color=#FF0000 style=font-size:9px>_Logoff_</font></b> ' & @UserName & ' @ ' & @YEAR & '.' & @MON & '.' & @MDAY & ' @ <b><font color=#FF0000 style=font-size:9px>' & @HOUR & ':' & @MIN & ':' & @SEC & ' </font></b> ]#] </font></center></b><br>')
    ElseIf $close = 4 Then
    FileWrite($log, '<center>[#[ Shutdown Log <b><font color=#FF0000 style=font-size:9px>_Shutdown_</font></b> ' & @UserName & ' @ ' & @YEAR & '.' & @MON & '.' & @MDAY & ' @ <b><font color=#FF0000 style=font-size:9px>' & @HOUR & ':' & @MIN & ':' & @SEC & ' </font></b> ]#] </font></center></b><br>')
    EndIf
    FileClose($log)
    Exit
    EndFunc

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

    Func Terminate1()
    Exit (0)
    EndFunc

    [/autoit]
  • Script springt zurück, oder was ist falsch?

    • sc4ry
    • 14. Juni 2007 um 10:33

    hallo,

    habe folgende 2 probs (nachdem ich endlich mal wieder dazu gekommen bei, mein shutdown-script weiter zu entwickeln)

    ich würde gern ein programm schreiben, dass ich per cmd bedienen kann, was den pc runterfährt (der ein oder andere hat schonmal nen thread dazu gelesen *g*)

    nun habe ich eine case select anweisung, die wunderbar funktioniert. nachdem alle parameter geprüft wurden, wird eine funktion ausgeführt (timer) und danach soll der pc runter gefahren werden.
    bevor aber der shutdown-befehl ausgeführt wird, springt das script aus der schleife wieder in die case select anweisung.
    bastel ich jedoch eine msgbox anstelle der shutdown-anweisung, wird die msgbox ausgeführt. was ist hier falsch?

    dazu kommt, dass $CmdLine[3] eine Zahl sein MUSS. aus testzwecken hab ich sie zZ auf 3 gesetzt, aber normalerweise würde ich was wie case IsNumber($CmdLine[3]) ... was aber leider nicht geht =/

    wer kann mir helfen?

    Spoiler anzeigen
    [autoit]


    #include <date.au3>
    #include <Process.au3>

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

    HotKeySet("{End}", "_kill")

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

    If $CmdLine[0] > 0 And $CmdLine[0] < 4 Then
    Select
    Case $CmdLine[1] = "-l" Or $CmdLine[1] = "-s" Or $CmdLine[1] = "-r"
    $Funktion = $CmdLine[1]
    Select
    Case $CmdLine[2] = "-t" Or $CmdLine[2] = "-h" Or $CmdLine[2] = "-m" Or $CmdLine[2] = "-s"
    $TimeZone = $CmdLine[2]
    Select
    Case $CmdLine[3] = 3
    $Countdown = $CmdLine[3]
    _countdown($Countdown)
    Case Else
    MsgBox(16, 'Fehler 4', "Parameter 3 muss eine Zahl sein")
    EndSelect
    Case Else
    MsgBox(16, 'Fehler 3', "Falsche Parameter verwendet")
    EndSelect
    Case Else
    MsgBox(16, 'Fehler 2', "Falsche Parameter verwendet")
    EndSelect
    Else
    MsgBox(16, 'Fehler 1', "Kein oder zuviele Parameter angegeben")
    EndIf

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

    Func _countDown($Countdown)
    If $CmdLine[2] = "-s" Then
    Local $begin = TimerInit(), $diff
    Do
    $diff = TimerDiff($begin)
    ToolTip("Noch " & Round(($Countdown*1000 -$diff)/1000) & " Sekunden",0,0,"Countdown")
    Sleep(100)
    Until $diff >= $Countdown*1000
    If $CmdLine[1] = "-l" Then
    _RunDOS('shutdown -l -f')
    ElseIf $CmdLine[1] = "-s" Then
    _RunDOS('shutdown -s -f')
    ElseIf $CmdLine[1] = "-r" Then
    _RunDOS('shutdown -r -f')
    EndIf
    EndIf
    EndFunc

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

    Func _kill()
    Exit
    EndFunc

    [/autoit]

    PS: wieso postet der meinen code immer 2-3 mal?

  • AutoIt In meinem Programm als Scriptsprache

    • sc4ry
    • 12. Juni 2007 um 10:52

    guck mal hier rein, da ist eine erklärung und ein link drin, die dir helfen sollten =)

    AutoIt Script mit Parametern ausführen ?

  • automatischer zeilenumbruch bei treeview

    • sc4ry
    • 12. Juni 2007 um 08:54

    sieht auch nicht so schlecht aus *g*

    wenn ich alles fertig habe, werde das ganze script nochmal neu "ordnen", und noch paar comments einfügen, danke für den tip.

    gibt es denn ne möglichkeit bei treeview?
    also soweit ich sehe, gibt es keine STIL der das macht, dann würde mir nur @CRLF bleiben, ja ?

    schade, das ist so umständlich =(

    PS: @crlf geht zwar nicht, aber ein weiteren treeviewitem erstellen und den restlichen satz darein kopieren. so bin ich das prob jetzt umgangen. könnte zwar schöner aussehen, aber passt schon =)

  • MemGetStatus

    • sc4ry
    • 12. Juni 2007 um 08:33

    würde dass denn nicht evtl über ne dll gehen?
    da wo der taskmanager auch seine "informationen" abruft, um zu sehen, welche prozesse laufen?

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™