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

Beiträge von i2c

  • [Suche] System User/Data

    • i2c
    • 23. Juni 2013 um 19:25

    Mal ganz ehrlich.... wenn einer sagt, er hätte schon mal so ein System erstellt, sogar mehrfach, dann passt das nicht im geringsten zu der Ausrede, man habe keine Lust es nochmal zu machen. Wiederverwertbarer Code ist in der objektorientierten Programmierung kein Hexenwerk.

    Mal ganz davon abgesehen, das man für die beschriebenen Anforderungen höchstens einege wenige Stunden benötigen würde. Je nach Umfang vlt. auch nur ein, zwei. Wozu gibt es denn Framworks? Codeignitor schafft man sich mit etwas Programmierverständnis in einer halben Stunde querlesen in der Dokumentation drauf.

    Das soll kein Angriff sein. Nur ein Hinweis, beim nächsten Mal eventuell etwas tiefer zu stapeln.

  • PHP Seitenaufruf ohne Browserfenster, möglich?

    • i2c
    • 21. Juni 2013 um 14:55

    Ich arbeite nicht mit der UDF. Kann dir also nur folgendes anbieten ....

    Spoiler anzeigen
    [autoit]

    $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("GET", "http://localhost/hello.php", False)
    $oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 4.0.20506)")
    $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
    $oHTTP.Send()
    $HTMLSource = $oHTTP.Responsetext
    ConsoleWrite($HTMLSource & @LF)

    [/autoit]

    In Zeile 2 den Pfad zum Skript anpassen! Wenn sich das Skript ohne weitere Parameter auch im Browser ausführen lässt, sollte das eigentlich funktionieren.

  • fileOpen 16

    • i2c
    • 20. Juni 2013 um 22:38

    TCP File Transfer mit automatischem Start

  • Registry Change ohne explorer.exe Neustart

    • i2c
    • 19. Juni 2013 um 23:29

    Probier das mal.
    http://msdn.microsoft.com/en-us/library/…7(v=vs.85).aspx

  • Problem mit einem Installationsscript für Sophos

    • i2c
    • 19. Juni 2013 um 17:33

    Sophos lässt sich afair über entsprechende Commandline Parameter silent installieren. Schonmal danach gegooglet?

  • Alles Gute Alina (und der ganze Rest)

    • i2c
    • 19. Juni 2013 um 07:13

    Alles Gute Alina!!!
    Feier schön..... geniess den Tag und bleib wie de bist. Aber vor allem bleib noch lange lange hier bei uns!

  • Letzten 5 Prozesse

    • i2c
    • 18. Juni 2013 um 19:01

    Um AspirinJunkie noch einmal kurz zu bestätigen - natürlich ist die collection nach Startzeitpunkt der Prozesse sortiert. Wenn man mal drüber nachdenkt, macht alles andere ja auch gar keinen SInn.

    Von daher war das hantieren mit dem Array vollkommen unnötig. Danke für den Hinweis :)

  • Letzten 5 Prozesse

    • i2c
    • 18. Juni 2013 um 08:28

    Kleiner Ansatz. Vieleicht noch alles in ein Array packen und sortieren .... :)

    Spoiler anzeigen
    [autoit]

    ; Generated by AutoIt Scriptomatic

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

    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $strComputer = "localhost"

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

    $Output=""
    $Output = $Output & "Computer: " & $strComputer & @CRLF
    $Output = $Output & "==========================================" & @CRLF
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Process", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

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

    If IsObj($colItems) then
    For $objItem In $colItems
    $Output = $Output & "CreationDate: " & WMIDateStringToDate($objItem.CreationDate) & @CRLF
    $Output = $Output & "ExecutablePath: " & $objItem.ExecutablePath & @CRLF
    $Output = $Output & "ProcessId: " & $objItem.ProcessId & @CRLF
    if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop
    $Output=""
    Next
    Else
    Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_Process" )
    Endif

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

    Func WMIDateStringToDate($dtmDate)
    Return (StringMid($dtmDate, 5, 2) & "/" & _
    StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
    & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2))
    EndFunc

    [/autoit]

    EDIT:
    Muss doch noch nicht los.
    So in etwa sollte das funktionieren ....

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

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

    $aPList = _GetLastProcess(5)
    _ArrayDisplay($aPList)

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

    Func _GetLastProcess($iCount = 0)
    Local $aResult[1][3]
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $strComputer = "localhost"

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

    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT ProcessId, CreationDate, ExecutablePath FROM Win32_Process", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

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

    If IsObj($colItems) Then
    $iDim = 1
    For $objItem In $colItems
    ReDim $aResult[$iDim][3]
    $aResult[$iDim - 1][0] = $objItem.ProcessId
    $aResult[$iDim - 1][1] = WMIDateStringToDate($objItem.CreationDate)
    $aResult[$iDim - 1][2] = $objItem.ExecutablePath
    $iDim += 1
    Next
    _ArraySort($aResult, 1, 0, 0, 1)
    If $iCount <> 0 Then ReDim $aResult[$iCount][3]
    Return $aResult
    Else
    SetError(1)
    EndIf
    EndFunc ;==>_GetLastProcess

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

    Func WMIDateStringToDate($dtmDate)
    Return (StringMid($dtmDate, 5, 2) & "/" & _
    StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
    & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate, 13, 2))
    EndFunc ;==>WMIDateStringToDate

    [/autoit]

    Edit 2:
    Schöne Idee misterspeed. Hab in meine Version noch schnell einen Filter eingebaut. DIe zu ignorierenden String werden als optionales Array übergeben. Als Standard wird nur @ScriptName ignoriert.

    ungetestet
    [autoit]

    #include <Array.au3>

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

    local $aArray[5] = ["scite","autoit", "wmi", "dock", @ScriptDir] ;Prozesse mit diesen Strings im Namen werden ignoriert

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

    $aPList = _GetLastProcess(5, $aArray)
    _ArrayDisplay($aPList, "Final")

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

    Func _GetLastProcess($iCount = 0, $aExclude = "")
    Local $aResult[1][4]
    if not IsArray($aExclude) then
    dim $aExclude[1]
    $aExclude[0] = @ScriptName
    EndIf
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $strComputer = "localhost"

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

    $aOutput = ""

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

    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT ProcessId, CreationDate, ExecutablePath, Name FROM Win32_Process", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

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

    If IsObj($colItems) Then
    $iDim = 1
    For $objItem In $colItems
    ReDim $aResult[$iDim][4]
    $aResult[$iDim - 1][0] = $objItem.ProcessId
    $aResult[$iDim - 1][1] = WMIDateStringToDate($objItem.CreationDate)
    $aResult[$iDim - 1][2] = $objItem.Name
    $aResult[$iDim - 1][3] = $objItem.ExecutablePath
    $iDim += 1
    Next
    _ArraySort($aResult, 1, 0, 0, 1)
    For $element in $aExclude
    Do
    $iTmp = _ArraySearch($aResult, $element, 0, 0, 0, 1, 2)
    if @error = 0 then
    _Array2DDelete($aResult, $iTmp)
    EndIf
    until @error = 6
    Next
    If $iCount <> 0 Then ReDim $aResult[$iCount][4]
    Return $aResult
    Else
    SetError(1)
    EndIf
    EndFunc ;==>_GetLastProcess

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

    Func WMIDateStringToDate($dtmDate)
    Return (StringMid($dtmDate, 5, 2) & "/" & _
    StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
    & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate, 13, 2))
    EndFunc ;==>WMIDateStringToDate

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

    ;----------------------------------------------------------------------------------------------------------------------
    ; Fuction _Array2DDelete(ByRef $ARRAY, $iDEL)
    ;
    ; Description Delete one row on a given index in an 1D/2D -Array
    ;
    ; Parameter $ARRAY the array, where one row will deleted
    ; $iDEL Row-Index to delete
    ;
    ; Return Succes -1 ByRef $ARRAY
    ; Failure 0 set @error = 1; given array are not array
    ; set @error = 2; index is out of range
    ;
    ; Author BugFix ([email='bugfix@autoit.de'][/email])
    ;----------------------------------------------------------------------------------------------------------------------
    Func _Array2DDelete(ByRef $ARRAY, $iDEL)
    If ( Not IsArray($ARRAY) ) Then
    SetError(1)
    Return 0
    EndIf
    If ( $iDEL < 0 ) Or ( $iDEL > UBound($ARRAY)-1 ) Then
    SetError(2)
    Return 0
    EndIf
    Local $i, $k, $l
    Local $UBound2nd = UBound($ARRAY,2)
    If @error = 2 Then
    Local $arTmp[UBound($ARRAY)-1]
    $k = 0
    For $i = 0 To UBound($ARRAY)-1
    If $i <> $iDEL Then
    $arTmp[$k] = $ARRAY[$i]
    $k += 1
    EndIf
    Next
    Else
    Local $arTmp[UBound($ARRAY)-1][$UBound2nd]
    $k = 0
    For $i = 0 To UBound($ARRAY)-1
    If $i <> $iDEL Then
    For $l = 0 To $UBound2nd-1
    $arTmp[$k][$l] = $ARRAY[$i][$l]
    Next
    $k += 1
    EndIf
    Next
    EndIf
    $ARRAY = $arTmp
    Return -1
    EndFunc ;==>_Array2DDelete

    [/autoit]
  • IconOverlays a la Dropbox/ Verknüpfungspfeil

    • i2c
    • 17. Juni 2013 um 18:22

    In dem von chip verlinkten Thema postete er im Startbeitrag den selben Link zu einem tutorial wie ich gestern in der Shoutbox. Dort wird bis ins kleinste Detail beschrieben, welche Schritte für das Erstellen einer solchen Dll erforderlich sind und an welchen Stellen du Änderungen für deinen speziellen Fall vornehmen musst.

    An sich also nur copy & paste.

  • Abfrage ob Fenster aktiv ist

    • i2c
    • 17. Juni 2013 um 00:47

    Was fehlt dir?

    Wenn du nicht über die direkte Vorgabe des Fenstertitels an das richtige Fenster kommst, benutz reguläre Ausdrücke fur Titel und Klasse. Wenn das Problem die regulären Ausdrücke selbst darstellen, dann gibt es auch dafür eine ausführliche Erläuterung in der Hilfe bzw. ein hervorragendes tutorial hier im Forum.

  • Abfrage ob Fenster aktiv ist

    • i2c
    • 16. Juni 2013 um 09:50

    Schau dir hier mal den Abschnitt "Erweiterte Fensterbeschreibungen" an.

    Dieser Schnipsel könnte dir (ohne Gewähr) das passende Fenster ausgeben.

    Spoiler anzeigen
    [autoit]

    $aList = WinList("[REGEXPTITLE:WinZip.*setup]")
    For $i = 1 To UBound($aList) - 1
    ConsoleWrite("Fenstertitel: " & $aList[$i][0] & @LF)
    ConsoleWrite("Handle: " & $aList[$i][1] & @LF)
    Next

    [/autoit]
  • Audi Fan aus Köln

    • i2c
    • 5. Juni 2013 um 11:23

    Ein Schnitzel würde mich jetzt in der Tat befriedigen :)

  • Audi Fan aus Köln

    • i2c
    • 5. Juni 2013 um 02:02

    Schon irgendwie seltsam, das so ein Thema tendenziell erstmal mehr Antworten bekommt als eines, das wirklich dem Forenthema entspricht. Und irgendwie sagen alle das selbe ^^

    Nur damit es nochmal gesagt wird (soll ja nicht untergehen in der ganzen Hektik hier) .... name22 hat recht. Hier geht es nicht um Audis oder andere Automobile und ich schliesse mich seiner Aussage an :rolleyes:

    Möchte das bitte noch jemand bestätigen, um dieser Aussage den nötigen Nachdruck zu verleihen. Nucht das die Threadstarterin es am Ende nicht versteht :sleeping:

  • In ListBox items/Einträge verschieben

    • i2c
    • 30. Mai 2013 um 08:18

    Für ein einfaches, schrittweise verschieben eines einzelnen Eintrags tut es auch

    [autoit]

    _GUICtrlListBox_SwapString()

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

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <WindowsConstants.au3>
    $hGUI = GUICreate("Form1", 317, 141, 192, 148)
    $hListBox = GUICtrlCreateList("", 8, 8, 193, 110, BitOR($LBS_NOTIFY, $LBS_EXTENDEDSEL, $WS_VSCROLL, $WS_BORDER))
    $iButton1 = GUICtrlCreateButton("up", 216, 8, 75, 25)
    $iButton2 = GUICtrlCreateButton("down", 216, 40, 75, 25)
    GUISetState(@SW_SHOW)

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

    _GUICtrlListBox_BeginUpdate($hListBox)
    For $iI = 1 To 9
    $sText = StringFormat("%03d : Random string ", Random(1, 100, 1))
    For $iX = 1 To Random(1, 20, 1)
    $sText &= Chr(Random(65, 90, 1))
    Next
    _GUICtrlListBox_AddString($hListBox, $sText)
    Next
    _GUICtrlListBox_EndUpdate($hListBox)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $iButton1
    $aItems = _GUICtrlListBox_GetSelItems($hListBox)
    If IsArray($aItems) And $aItems[0] > 0 And $aItems[1] > 0 Then
    _GUICtrlListBox_SwapString($hListBox, $aItems[1], $aItems[1] - 1)
    EndIf
    Case $iButton2
    $aItems = _GUICtrlListBox_GetSelItems($hListBox)
    If IsArray($aItems) And $aItems[0] > 0 And $aItems[1] < _GUICtrlListBox_GetCount($hListBox) - 1 Then
    _GUICtrlListBox_SwapString($hListBox, $aItems[1], $aItems[1] + 1)
    EndIf
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • AutoIt Compiler (Project Perseus)

    • i2c
    • 9. Februar 2013 um 22:03

    Der wichtigste Teil...

    Zitat

    die einer der historisch gewachsenen menschlichen Sprachen (Englisch, Japanisch usw.) sehr entfernt ähnelt.


    .... trifft irgendwie garnicht zu.

    Aber schon ein interessantes Projekt.

  • AutoIt Compiler (Project Perseus)

    • i2c
    • 9. Februar 2013 um 21:56

    Müssen wir AutoIt jetzt als Hochsprache bezeichnen?

  • warum geht das fenster immer zu

    • i2c
    • 9. Februar 2013 um 10:30

    Seh ich da kein GUISetState()?

  • [Box.net] Einige API Funktionen

    • i2c
    • 9. Februar 2013 um 07:58

    DIe (fast) fertige UDF die ich aus diesen EInzelfunktionen erstellt habe, ist leider vor einiger Zeit verloren gegangen. Wenn ich Zeit und Lust habe, erstell ich sie eventuell neu. Bis dahin findet vlt. der Ein oder Andere Verwendung dafür.

    Die "Sammlung" deckt in diesem Zustand nicht die gesammte box.net API ab. Es fehlen einige Funktionen und bei vorhandenen fehlen Datenaufbereitungen etc. Soll heissen - in den meisten Fällen wird hier noch eine XML Struktur zurückgegeben.

    Dateien

    boxAPI.au3 101,65 kB – 397 Downloads
  • Dropbox API verwendung

    • i2c
    • 5. Februar 2013 um 21:54

    Wenn was unklar ist oder du nicht weiter kommst, kannst du mir gerne ab und zu mal eine PN schicken - ausnahmsweise. Allerdings würde ich auf die WinHTTP.au3 verzichten. Abhängigkeiten von UDFs untereinander finde ich eher unschön. Vor allem, wenn man sie vermeiden kann.

  • Dropbox API verwendung

    • i2c
    • 5. Februar 2013 um 21:48

    Ich hab meinen Beitrag nochmal bearbeitet. Musste die Datei anhängen - zu lang für einen Spoiler.

    Der Authorisierungsprozess dürfte zum Beispiel der selbe sein. Lediglich die Bezeichnung der Paramter wird höchstwarscheinlich abweichen.

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™