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

Beiträge von funkey

  • Skript performanter gestalten

    • funkey
    • 7. Oktober 2009 um 12:52

    Wieso ungeeignet? Aufgrund des vorangehenden 'IP-Adresse...........:'? Das lässt sich doch ohne weiteres wegschneiden und die Ausgabe kann man auch in ein Array umwandeln.

  • Skript performanter gestalten

    • funkey
    • 7. Oktober 2009 um 11:52

    Hab zwar nur einen Netzwerk-Adapter, aber hast du den Vorschlag von Andy schon probiert, mittels ipconfig an die Daten zu kommen?

    [autoit]

    #include <Constants.au3>

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

    Local $PID = Run(@ComSpec & ' /c ipconfig /all|find "IP-Adresse"', "", @SW_HIDE, $STDOUT_CHILD)
    Local $line
    While 1
    $line &= StdoutRead($PID)
    If @error Then ExitLoop
    Wend

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

    MsgBox(0, "IP-Adressen:", $line)

    [/autoit]
  • Fenstername über ProcessID ermiteln

    • funkey
    • 7. Oktober 2009 um 09:27

    Die PID ist immer variabel, aber den Titel des aktuellen Fensters erhälst du mit

    [autoit]

    $Title = WinGetTitle("")

    [/autoit]

    Die PID dazu erhälst du mittels

    [autoit]

    $Pid = WinGetProcess($Title)

    [/autoit]
  • RibbonsBar (Office 2007 Bar) UDF

    • funkey
    • 7. Oktober 2009 um 08:35

    Freu mich auch schon auf die nächste Version!
    Tolles Projekt :thumbup:

  • array in ComboBox schreiben

    • funkey
    • 6. Oktober 2009 um 18:35

    Sieht eigentlich ganz OK aus!?

  • Hallo

    • funkey
    • 5. Oktober 2009 um 18:27

    Ganz meine Meinung!!

    Herzlich willkommen im Club!

  • _FileListToArray

    • funkey
    • 5. Oktober 2009 um 18:26

    _FileListToArray gibt die Dateinamen zurück ohne den Pfad! Deswegen musst du bei FileGetTime auch den Pfad angeben!

    Hättest du beim ersten Post gleich die Fehlermeldung mitgepostet, wäre es mir gleich aufgefallen ;)

    Spoiler anzeigen
    [autoit]

    #Include <File.au3>
    #Include <Array.au3>
    $logup = @scriptdir&"\logup.ini"
    $array=_FileListToArray(@ScriptDir&"\logs\")
    for $i = 1 to $array[0]
    $t = FileGetTime(@ScriptDir&"\logs\" & $array[$i], 0)
    $yyyymdhms = $t[0] & $t[1] & $t[2] & $t[3] & $t[4] & $t[5]
    IniWrite($logup, $array[$i], "time", $yyyymdhms)
    Next

    [/autoit]
  • Benutzen der WM_MENUSELECT Notification um Hilftext in der Statusbar anzuzeigen.

    • funkey
    • 5. Oktober 2009 um 18:21

    Kann ich auch brauchen! Danke!! :thumbup:

  • _FileListToArray

    • funkey
    • 5. Oktober 2009 um 18:18

    Entweder es gibt den Ordner nicht (1), oder er ist leer (4)!

    Spoiler anzeigen
    [autoit]

    #Include <File.au3>
    #Include <Array.au3>
    $logup = @scriptdir&"\logup.ini"
    $array=_FileListToArray(@ScriptDir&"\logs\")
    If @error Then Exit MsgBox(16, "Fehler", @error)
    for $i = 1 to $array[0]
    $t = FileGetTime($array[$i], 0)
    $yyyymdhms = $t[0] & $t[1] & $t[2] & $t[3] & $t[4] & $t[5]
    IniWrite($logup, $array[$i], "time", $yyyymdhms)
    Next

    [/autoit]
  • problem

    • funkey
    • 2. Oktober 2009 um 18:01

    Keine Ahnung ob ich dich richtig verstehe. Willst du Autoit-Skripts ausführen?

    [autoit]

    ShellExecute("C:\Irgendein_Pfad\Irgendein_Skript.au3")

    [/autoit]
  • problem

    • funkey
    • 2. Oktober 2009 um 17:30

    Run sollte funktionieren, wenn du den korrekten Pfad angibst. Probieren kannst du es aber auch mit ShellExecute.

  • Slider

    • funkey
    • 2. Oktober 2009 um 17:27

    PrideRage: Gutes Skript würde ich jetzt nicht unbedingt sagen. Hab mir einfach schnell ein paar Teile aus der Hilfe zusammengestöpselt.
    Ich glaub ich kenne und skripte Autoit seit ca. 2 Jahren. Hab das Basiswissen alles aus der Hilfe und bin dann erst auf dieses hervorragende Forum gestoßen.

  • Slider

    • funkey
    • 2. Oktober 2009 um 17:19
    Spoiler anzeigen
    [autoit]

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

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

    GUICreate("slider", 220, 100, 100, 200)
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

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

    $slider1 = GUICtrlCreateSlider(10, 10, 200, 20)
    GUICtrlSetLimit(-1, 200, 0) ; change min/max value
    $label = GUICtrlCreateLabel("", 10, 50, 50, 20)

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

    GUISetState()
    GUICtrlSetData($slider1, 45) ; set cursor

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

    Do
    $msg = GUIGetMsg()
    Until $msg = $GUI_EVENT_CLOSE

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

    Func WM_NOTIFY($hWnd, $Msg, $wParam, $lParam)
    $nNotifyCode = BitShift($wParam, 16)
    $nID = BitAND($wParam, 0x0000FFFF)
    $Pos = GUICtrlRead($nID)
    If $nID = $slider1 Then GUICtrlSetData($label, $Pos & "%")
    EndFunc

    [/autoit]
  • _ArrayToString

    • funkey
    • 2. Oktober 2009 um 15:00

    Wieso wetest du nicht die Error-Variable von _ArrayToString aus?! Dann weißt du was schief geht. Wahrscheinlich ist das Array 2-dimensional.

  • Problem TrayCreateItem / TrayCreateMenu

    • funkey
    • 2. Oktober 2009 um 10:37

    Wo ist TraySetState?

  • Portüberwachung mit Netstat funktioniert auf Server 2003 nicht

    • funkey
    • 1. Oktober 2009 um 18:56

    Probier es mal mit dieser Funktion. Hab sie für meien VNC-Logger geschrieben.

    Spoiler anzeigen
    [autoit]

    #include <Constants.au3>
    #Include <Array.au3>

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

    $aIP = _GetConnectionFromPort(443)

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

    _ArrayDisplay($aIP)

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

    Func _GetConnectionFromPort($sPort = '5900')
    ; funkey 17.06.2009
    ; gibt IP oder Namen eines verbundenen PC's abhängig vom Port zurück
    ; Standard-Port ist 5900 für VNC, 3389 wäre für Remotedesktop ('mstsc.exe')
    Local $sErgebnis, $aPort
    Local $pid = Run(@ComSpec & " /c " & 'netstat -np TCP |findstr ":'&$sPort&'"', "", @SW_HIDE, $STDOUT_CHILD)
    Do
    $sErgebnis &= StdoutRead($pid)
    Until @error
    $aPort = StringSplit($sErgebnis, @CRLF, 3)
    For $i = UBound($aPort) - 1 To 0 Step -1
    If StringInStr($aPort[$i], 'HERGESTELLT') Then
    $aPort[$i] = StringRegExpReplace($aPort[$i], '(\s+)(\S+)(\s+)(\S+)(\s+)(\S+):(\S+)(\s+)(\S+)', '$6')
    Else
    _ArrayDelete($aPort, $i)
    EndIf
    Next
    If Not IsArray($aPort) Then Return SetError(1, 0, "")
    Return $aPort
    EndFunc

    [/autoit]
  • Rechtsklick auf Controls auswerten

    • funkey
    • 1. Oktober 2009 um 18:35

    PrideRage: Natürlich ist das nützlich. Ich habe das schon öfters gebraucht. Habe dann immer die Version, die Bugfix gepostet hat hergenommen, aber die Variante mit GUIRegisterMsg($WM_CONTEXTMENU..) gefällt mir besser (obwohl es im Pronzip eh ziemlich gleich ist).

    BugFix : Danke dass du eine andere Variante gepostet hast, somit kann unter diesem Thread mehr als eine Möglichkeit gefunden werden eine Rechtsklick-Auswertung einzubauen und jeder kann dann wählen was ihm lieber ist.

  • Rechtsklick auf Controls auswerten

    • funkey
    • 1. Oktober 2009 um 10:15

    Hab heute eine einfache Möglichkeit entdeckt, wie man einfach Rechtsklicks auf verschiedene Controls auswerten kann.

    Spoiler anzeigen
    [autoit]

    #include <WinAPI.au3>
    #include <WindowsConstants.au3>

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

    Opt('GUIOnEventMode', 1)

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

    Global $LV_FirstClick = 0

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

    Global $hGUI = GUICreate("Test Rechtsklick", 210, 300)
    GUISetOnEvent(-3, '_Exit')
    GUIRegisterMsg($WM_CONTEXTMENU, "WM_RECHTSKLICK")

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

    Global $Btn1 = GUICtrlCreateButton('Testbutton 1', 20,40)
    Global $Btn2 = GUICtrlCreateButton('Testbutton 2', 120,40)
    Global $Lbl1 = GUICtrlCreateLabel('Testlabel 1', 20,140)
    Global $Lbl2 = GUICtrlCreateLabel('Testlabel 2', 120,140)

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

    Global $LV = GUICtrlCreateList('Zeile1', 20, 180, 170, 80)
    GUICtrlSetData(-1, "Zeile2")
    GUICtrlSetData(-1, "Zeile3")

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

    GUISetState()

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

    While 1
    Sleep(100000)
    WEnd

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

    Func _Exit()
    Exit
    EndFunc

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

    Func WM_RECHTSKLICK($hWnd, $iMsg, $iwParam, $ilParam)
    Local $IDCtrl = _WinAPI_GetDlgCtrlID($iwParam)
    Local $x = BitAND($ilParam, 0x0000FFFF), $y = BitShift($ilParam, 16)

    Switch $IDCtrl
    Case $Btn1, $Btn2, $Lbl1, $Lbl2
    MsgBox(64, GUICtrlRead($IDCtrl), "Klickposition: " & $x & " / " & $y)
    Case $LV
    If Not $LV_FirstClick Then
    MouseClick('left', $x, $y, 1, 0)
    $LV_FirstClick = 1
    MouseClick('right', $x, $y, 1, 0)
    Else
    $LV_FirstClick = 0
    MsgBox(64, GUICtrlRead($IDCtrl), "Klickposition: " & $x & " / " & $y)
    EndIf
    EndSwitch
    EndFunc ;==>WM_CONTEXTMENU

    [/autoit]
  • Eintrag zum Windows Path permanent hinzufügen

    • funkey
    • 29. September 2009 um 18:40

    Ich weiß grad nicht genau, was du erreichen willst.

    Meine Vermutung: Eine neue Variable erzeugen, mit dem Windows-Verzeichnis als Basis.

    Spoiler anzeigen
    [autoit]

    MsgBox(0,"@WindowsDir", @WindowsDir)
    Global $WinDir = @WindowsDir & "\Fonts"
    MsgBox(0,"$WinDir", $WinDir)

    [/autoit]
  • Speichern Fenster?

    • funkey
    • 28. September 2009 um 15:55

    Du hast doch bereits einen solchen Thread aufgemacht!! :cursing:
    Keine Doppelposts!!

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™