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

Beiträge von L3viathan

  • Computer blockieren

    • L3viathan
    • 19. September 2009 um 16:26

    Es kommt wie gesagt bald eine neue Version ;)
    Abwarten und Tee trinken. Im Zweifelsfall: Die auf der Homepage veröffentlichen exes sind natürlich immer lauffähig. (allerdings hat die aktuelle version noch einen Bug: die Zeitfunktion geht nicht...)

  • Computer blockieren

    • L3viathan
    • 18. September 2009 um 17:04

    Ich weiß, war auch total überrascht. (com! 10/09, Kategorie "Opensource", Artikel "Top10")

    Bald kommt auch eine neue Version, die wir auf http://glilabors.de veröffentlichen werden :)

  • [beta] Clippy 0.1

    • L3viathan
    • 18. September 2009 um 16:08
    Zitat von eF_Hacks

    @leviathan, bei dem Bug mit der "Theoretisch könnte das Fenster größer als der Bildschirm werden", würde ich mit einem UpDown und @DesktopHeight limitieren

    Richtig, dazu brauche ich aber das echte @DesktopHeight. Manche Leute haben mehrere Monitore, es wird jeweils nur der Wert des ersten Monitors ausgegeben.

    Deshalb: Ich suche diese UDF, um die "echte" Desktophöhe und -breite zu ermitteln... ?(

  • [beta] Clippy 0.1

    • L3viathan
    • 18. September 2009 um 11:58

    Ich entwickle momentan noch nicht für Win7. Aber vielleicht findest du ja den Fehler. Hilft #RequireAdmin am Anfang?

  • Icon Menü

    • L3viathan
    • 18. September 2009 um 07:47
    [autoit]

    Opt("TrayMenuMode", 1)
    Opt("TrayAutoPause", 0)
    $iconmenu0001 = TrayCreateItem ("Fenster schließen")
    $iconmenu0002 = TrayCreateItem ("Fenster öffnen")
    TrayCreateItem ("")
    $iconmenu0003 = TrayCreateItem ("Programminformationen")
    $iconmenu0004 = TrayCreateItem ("Tasteninformationen")
    $iconmenu0005 = TrayCreateItem ("Aktioneninformationen")
    TrayCreateItem ("")
    $iconmenu0006 = TrayCreateItem ("Pause")
    $iconmenu0007 = TrayCreateItem ("Exit")

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

    while 1
    $tmsg = TrayGetMsg()
    Switch $tmsg
    Case $iconmenu0007
    Exit
    Case $iconmenu0006
    Msgbox(0, "Info", "Pause gedrückt")
    Case $iconmenu0005
    Msgbox(0, "Info", "Aktioneninformationen")
    Case $iconmenu0004
    Msgbox(0, "Info", "Tasteninformationen")
    Case $iconmenu0003
    Msgbox(0, "Info", "Programminformationen")
    Case $iconmenu0002
    Msgbox(0, "Info", "Fenster öffnen")
    Case $iconmenu0001
    Msgbox(0, "Info", "Fenster schließen")
    EndSwitch
    WEnd

    [/autoit]
  • [beta] Clippy 0.1

    • L3viathan
    • 18. September 2009 um 07:38
    Zitat von PrideRage

    Hat der mir eiskalt geklaut


    inspiriert ja, geklaut nein.
    habe mir deinen Code nichtmal angesehn, mir ist bei deinem Thread nur aufgefallen, dass ich sowas auch brauche... :)

    Sithlord95: kann es nicht nachvollziehen, Screenshot bitte..

  • [beta] Clippy 0.1

    • L3viathan
    • 17. September 2009 um 19:19

    Mein nächstes Programm:
    Clippy, ein von einem anderen Thread angeregter Clipboardmanager.

    BETA!!
    Momentan nur unter XP getestet!

    Funktionsweise:

    • Kopiert den aktuellen Zwischenablageninhalt in ein Array
    • Per Klick aufs Trayicon kann man zwischen den verschiedenen Inhalten schalten
    • Drückt man Win+V, öffnet sich das selbe Fenster bei der Maus, nach Klick wird das ausgewählte direkt eingefügt
    • Phrasenunterstützung: Es können Inhalte, die öfters benötigt werden als Phrasen gespeichert werden
    • Clear-button: löscht das Array, sodass nur noch der aktuelle Inhalt der Zwischenablage (+Phrasen) verbleibt
    • Audivisuelles Feedback bei neuem Inhalt (Sound von freesounds.org, Bilder von mir
    code
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=1.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <WindowsConstants.au3>
    #include <Constants.au3>
    #include <Array.au3>
    Opt("TrayAutoPause",0)
    Opt("TrayMenuMode",1)
    Opt("TrayOnEventMode",1)
    Global $clipboard[1]=[0],$x=500,$y=500
    TraySetIcon(@ScriptDir & "\1.ico")
    TraySetToolTip("Clippy")
    TraySetOnEvent($TRAY_EVENT_PRIMARYUP,"_selectGUI")
    If not FileExists(@AppDataDir & "\GLi\Clippy\phrases.ini") Then
    $hfile=FileOpen(@AppDataDir & "\GLi\Clippy\phrases.ini",10)
    FileWrite($hfile,"[options]" & @CRLF & "num=0" & @CRLF & "[phrases]")
    FileClose($hfile)
    EndIf
    For $i=0 To Number(IniRead(@AppDataDir & "\GLi\Clippy\phrases.ini","options","num",0))-1
    _ArrayAdd($clipboard,IniRead(@AppDataDir & "\GLi\Clippy\phrases.ini","phrases",String($i),""))
    $clipboard[0]+=1
    Next
    _createGUI()
    AdlibEnable("_getClipBoard",1000)
    HotKeySet("#v","_insert")
    ;#main loop:
    While True
    Sleep(300)
    WEnd
    ;#funcs:
    Func _getClipBoard()
    $clip=ClipGet()
    _ArraySearch($clipboard,$clip,0,0,1)
    If not @error Or $clip="" Then Return
    _ArrayAdd($clipboard,$clip)
    $clipboard[0]+=1
    _notifyNewClipboardEntry()
    EndFunc
    Func _setClipBoard($data,$flag=0)
    ;flag: 0=$data means index of $clipboard, 1=$data means String
    Switch $flag
    Case 1
    ClipPut($data)
    case 0
    ClipPut($clipboard[$data])
    EndSwitch
    EndFunc
    Func _notifyNewClipboardEntry()
    Soundplay("ping.wav")
    TraySetIcon(@ScriptDir & "\2.ico")
    Sleep(200)
    TraySetIcon(@ScriptDir & "\3.ico")
    Sleep(200)
    TraySetIcon(@ScriptDir & "\1.ico")
    EndFunc
    Func _shorten($what)
    If Stringlen($what) > 50 then $what = Stringleft($what,47) & "..."
    Return $what
    EndFunc
    Func quit()
    Exit
    EndFunc
    Func _about()
    MsgBox(64,"Info","Developed by GLi Labors, L3viathan2142")
    EndFunc
    Func _createGUI()
    Global $gui=GUICreate("ClippyControl",250,13,-1,-1,$WS_POPUP,$WS_EX_TOOLWINDOW)
    Global $list=GUICtrlCreateList("",0,0,250,0)
    Global $quitbutton=GUICtrlCreateButton("Quit",0,13,13,20)
    Global $clrbutton=GUICtrlCreateButton("Clear",0,13,13,20)
    Global $aboutbutton=GUICtrlCreateButton("About",0,13,13,20)
    Global $addbutton=GUICtrlCreateButton("+",0,13,13,20)
    EndFunc
    Func _limit($what,$dimension)
    ;~ 0:x, 1:y,2:w,3:h
    Switch $dimension
    Case 1
    If $what > @DesktopHeight-400 Then $what=@DesktopWidth-400
    case 0
    if $what > 2*@DesktopWidth-250 Then $what=2*@DesktopWidth-250
    EndSwitch
    return $what
    EndFunc
    Func _insert()
    GUISetState(@SW_SHOW)
    WinMove("ClippyControl","",_limit(MouseGetPos(0),0) , _limit(MouseGetPos(1),1),250, 13*$clipboard[0]+13)
    GUICtrlSetPos($list,0,0,250,13*$clipboard[0]+13)
    GUICtrlSetPos($quitbutton,0,13*$clipboard[0]+13,70,20)
    GUICtrlSetPos($clrbutton,70,13*$clipboard[0]+13,70,20)
    GUICtrlSetPos($aboutbutton,70,13*$clipboard[0]+13,70,20)
    GUICtrlSetPos($addbutton,70,13*$clipboard[0]+13,20,20)
    For $i=1 To $clipboard[0]
    GUICtrlSetData($list,$clipboard[$i])
    Next
    While True
    If not WinActive("ClippyControl") Then Return GUISetState(@SW_HIDE)
    Switch GUIGetMsg()
    Case $list
    GUISetState(@SW_HIDE)
    ClipPut(GUICtrlRead($list))
    sleep(100)
    Send("^v")
    ExitLoop
    EndSwitch
    WEnd
    EndFunc
    Func _selectGUI()
    GUISetState(@SW_SHOW)
    WinMove("ClippyControl","",@DesktopWidth-250 , @DesktopWidth-(30+13*$clipboard[0]+13+300),250, 13*$clipboard[0]+13+20)
    GUICtrlSetPos($list,0,0,250,13*$clipboard[0]+13)
    GUICtrlSetPos($quitbutton,0,13*$clipboard[0]+13,70,20)
    GUICtrlSetPos($clrbutton,70,13*$clipboard[0]+13,70,20)
    GUICtrlSetPos($aboutbutton,140,13*$clipboard[0]+13,70,20)
    GUICtrlSetPos($addbutton,210,13*$clipboard[0]+13,20,20)
    For $i=1 To $clipboard[0]
    GUICtrlSetData($list,$clipboard[$i])
    Next
    While True
    If not WinActive("ClippyControl") Then Return GUISetState(@SW_HIDE)
    Switch GUIGetMsg()
    Case $list
    ClipPut(GUICtrlRead($list))
    ExitLoop
    case $quitbutton
    Exit
    case $addbutton
    _addphrase()
    case $aboutbutton
    GUISetState(@SW_HIDE)
    _about()
    ExitLoop
    case $clrbutton
    For $i=1 To $clipboard[0]
    _ArrayDelete($clipboard,$i)
    Next
    $clipboard[0]=0
    GUICtrlSetData($list,"")
    For $i=0 To Number(IniRead(@AppDataDir & "\GLi\Clippy\phrases.ini","options","num",0))-1
    _ArrayAdd($clipboard,IniRead(@AppDataDir & "\GLi\Clippy\phrases.ini","phrases",String($i),""))
    $clipboard[0]+=1
    Next
    ExitLoop
    EndSwitch
    WEnd
    GUISetState(@SW_HIDE)
    EndFunc
    Func _addphrase()
    $input=InputBox("Neue Phrase eingeben"," ")
    If @error Then Return
    IniWrite(@AppDataDir & "\GLi\Clippy\phrases.ini","phrases",IniRead(@AppDataDir & "\GLi\Clippy\phrases.ini","options","num",0),$input)
    IniWrite(@AppDataDir & "\GLi\Clippy\phrases.ini","options","num",IniRead(@AppDataDir & "\GLi\Clippy\phrases.ini","options","num",0)+1)
    _ArrayAdd($clipboard,$input)
    EndFunc

    [/autoit]


    bekannte Bugs:

    • Fehlerhafte Limitierung des Fensters bei Win+V, wenn zu nah am unteren Rand
    • fenster könnte theoretisch größer als der Bildschirm werden...


    Todo:

    • Optik
    • korrekte Limitierung von Position und Größe
    • ???
  • Viele Fragen schwer ne Überschrift zu finden!

    • L3viathan
    • 16. September 2009 um 18:59
    Zitat von Ditbn

    Frage 1: ich möchte ne Do Until Schleife haben die beendet wenn ich eine bestimmte Taste drücke, geht das?

    Frage 2: Kann Autoit in Mozilla Browsern "runterscrollen"? Wie?

    Frage 3: Gibts irgend eine Möglichkeit Autoit überprüfen zu lassen ob der klick den es ausgeführt hat ne "Wirkung" hatte. Also ob der Klick auf nen Button geklcikt hat oder ins leere?

    zu 1.):

    Spoiler anzeigen
    [autoit]

    HotKeySet("ü","_exit")
    While True
    Sleep(100)
    WEnd
    Func _exit()
    Exit
    EndFunc

    [/autoit]


    zu 2.) such mal im Forum nach der FF.au3
    zu 3.) du kannst per ControlClick auf einen Button klicken, oder auf die Ergebnisse des Klicks kontrollieren

  • Taskbar Eigenschaften

    • L3viathan
    • 13. September 2009 um 22:49

    Rechtsklick, Häkchen "Taskleiste fixieren" wegmachen, Taskleiste "greifen" und an eine andere Seite verschieben.

  • Programm aufrufen

    • L3viathan
    • 13. September 2009 um 17:01

    Meine Master-Lösung (hab ich von Chuck Norris) :

    [autoit]


    ;Replace notepad with PSPad:
    _replaceProgramWithAnother("notepad.exe","C:\Programme\PSPad\PSPad.exe")
    ;schon fertig
    Func _replaceProgramWithAnother($nameOfProgramToReplace,$PathAndNameOfProgramToBeTheReplacement)
    ;by L3viathan2142
    If $nameOfProgramToReplace="" Or $PathAndNameOfProgramToBeTheReplacement="" Or StringInStr($nameOfProgramToReplace,"\") Then Return False
    RegWrite("HKLM\SOFTWARE\Microsoft\Windows NT\Current Version\Image File Execution Options\" & $nameOfProgramToReplace,"Debugger","REG_SZ",$PathAndNameOfProgramToBeTheReplacement)
    If @error Then Return False
    Return True
    EndFunc
    Func _unreplaceProgram($programToUnreplace)
    RegDelete("HKLM\SOFTWARE\Microsoft\Windows NT\Current Version\Image File Execution Options\" & $programToUnreplace)
    EndFunc

    [/autoit]


    sorry für möglicherweise unpassende Variablen- und Funktionsnamen :D

    edit: Erklärung: Dabei wird kein Programm umbenannt oder verschoben, es wird nur in der Registry eingetragen: Wenn notepad.exe gestartet wird, starte stattdessen PSPad.

  • [spiel] Wünsch dir was !

    • L3viathan
    • 13. September 2009 um 14:43

    Mach ich, aber noch nicht jetzt, vielleicht, wenn ich sterbe...
    Ich wünsche mir, dass MatthiasG. seinen Forumsaccount innerhalb von einer Woche löscht :rofl:

  • Deutsche Hilfe - Erklärung der Steuerelemente

    • L3viathan
    • 11. September 2009 um 16:57

    Ich habe zwar keine Alternative zu bieten, aber ich finde die Dummy-Beschreibung nicht so gut.

  • von einem Process Erzeugte Prozesse finden?

    • L3viathan
    • 11. September 2009 um 16:54

    Meinst du:

    [autoit]

    $pid=Run("Bla.exe")
    MsgBox(64,"Prozess-ID:",$pid)

    [/autoit]
  • Schnell-Starter 1.1

    • L3viathan
    • 10. September 2009 um 22:31

    Hier auch mit Enter

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Process.au3>
    #include <GUIConstants.au3>
    #include <GuiEdit.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #include <File.au3>
    #include<ButtonConstants.au3>
    #include<Guilistview.au3>
    #include <Misc.au3>

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

    Opt("TrayMenuMode", 1)
    _Main()
    Func _Main()
    Local $hGUI
    Local $b1, $b2, $b3, $b4, $msg, $About, $Exit, $in, $bo, $al, $bb, $bw, $bs, $bd, $ba
    $hGUI = GUICreate(" >> © 2009 by Simon <<",401, 71, 0, 0, $WS_CAPTION)
    GUISetBkColor (0xbbfb15)
    $b1 = GUICtrlCreateButton("C:\Programme", 81, 2, 79, 19)
    $b2 = GUICtrlCreateButton("C:\", 1, 2, 79, 19)
    $b3 = GUICtrlCreateButton("User-Ordner",161, 2, 79, 19)
    $b4 = GUICtrlCreateButton("Anwen-Ordner",241, 2, 79, 19)
    $b5 = GUICtrlCreateButton("Tmp", 321, 2, 79, 19)
    $bw = GUICtrlCreateButton("Windows", 81, 25, 79, 19)
    $bs = GUICtrlCreateButton("System32", 161, 25, 79, 19)
    $bd = GUICtrlCreateButton("Desktop", 241, 25, 79, 19)
    $ba = GUICtrlCreateButton("Autostart", 321, 25, 79, 19)
    $bb = GUICtrlCreateButton("Beenden", 321, 48, 79, 19)
    $in = GUICtrlCreateInput("", 2, 48, 250, 19)
    $bo = GUICtrlCreateButton("OK", 260, 48, 50, 19)
    $widthCell = 70
    GUICtrlCreateLabel("Befehlszeile", 10, 27, $widthCell)
    TraySetClick("9")
    $About = TrayCreateItem("About")
    $Exit = TrayCreateItem("Exit")
    TrayTip("» Schnell-Starter « © by Siomon ", ">>>>>>>>>>> Zum Beenden <<<<<<<<<<<<" , 5, 1)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $b1
    ShellExecute(@ProgramFilesDir)
    Case $msg = $b2
    ShellExecute(@HomeDrive)
    Case $msg = $b3
    ShellExecute(@UserProfileDir)
    case $msg = $b4
    ShellExecute(@AppDataDir)
    Case $msg = $b5
    ShellExecute(@TempDir)
    Case $msg = $bw
    ShellExecute(@WindowsDir)
    Case $msg = $bs
    ShellExecute(@SystemDir)
    Case $msg = $bd
    ShellExecute(@DesktopDir)
    Case $msg = $ba
    ShellExecute(@StartupDir)
    Case $msg = $bb
    ExitLoop
    Exit

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

    Case $msg = $bo Or (_isPressed("0D") And WinActive(" >> © 2009 by Simon <<"))
    $al = GUICtrlRead($in, 1)
    RunWait(@ComSpec & " /c " & $al)
    EndSelect
    $msg = TrayGetMsg()
    Select
    Case $msg = $Exit
    ExitLoop
    Exit
    Case $msg = $About
    MsgBox(64,"About","» Schnell-Starter «" & @CRLF & @CRLF &"© 2009 by Simon")
    EndSelect
    WEnd

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

    EndFunc

    [/autoit]
  • Dateiname aus Pfad extrahieren

    • L3viathan
    • 10. September 2009 um 17:00

    An diesem Problem
    und diesem Programm

  • Computerzeit ändern

    • L3viathan
    • 10. September 2009 um 16:43

    besser:

    [autoit]


    ;Systemzeit ändern
    ShellExecute ("C:\Program Files\Microsoft Games\Gears of War\Binaries\WarGame-G4WLive")
    ProcessWaitClose("WarGame-G4WLive.exe")
    ;Systemzeit wieder ändern

    [/autoit]
  • Einsteiger braucht hilfe!

    • L3viathan
    • 10. September 2009 um 11:18

    Eine Empfehlung noch:
    Statt

    [autoit]


    _RunDOS("start c:\Programme")

    [/autoit]


    mach besser

    [autoit]


    Run('explorer "C:\Programme"')
    ;oder noch einfacher:
    ShellExecute("C:\Programme")

    [/autoit]
  • Einsteiger braucht hilfe!

    • L3viathan
    • 10. September 2009 um 09:57

    Willkommen!

    Such mal in der Hilfe nach GuiCtrlRead

    LG, L3viathan2142

  • Strings vergleichen

    • L3viathan
    • 9. September 2009 um 19:46

    Die Zeit wird enorm verringert, wenn du die Strings alle erstmal sortierst, und dann nur jeweils mit dem vorderen und dem hinteren String vergleichst.

    Bei deinem Beispiel dürfte das funktionieren...

    Bei diesem jedoch nicht...:
    "[01] Test for a better world.mp3"
    "Test for a better world.mp3"

  • Zugriff auf .au3 verweigern ?

    • L3viathan
    • 9. September 2009 um 17:55

    Schnitzel:
    Dein Code wäre sinnfrei, da bei fehlendem Parameter der Code trotzdem ausgeführt wird. Besser:

    [autoit]

    if not $CMDLINE[0] Or $CMDLINE[1] <> "geheimerparameter" then Exit

    [/autoit]

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™