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

  • Comboboxen mit verschiedenen möglichkeiten auslesen

    • Oscar
    • 17. Mai 2013 um 20:09

    Das geht sicherlich einfacher (vor allem erstmal mit Arrays arbeiten).
    Allerdings wäre es höflicher und würde mehr Leute zum helfen animieren, wenn Du zumindest schonmal die GUI als kompletten Code hier einstellst (bitte Spoiler und AutoIt-Code-Tags benutzen). Eventuelle Helfer wollen nicht erst alles "zusammenzimmern" müssen.

  • (Input)URl mit Standartbrowser auf PC öffnen

    • Oscar
    • 17. Mai 2013 um 17:58

    So reicht doch völlig:

    [autoit]


    $link = 'www.google.de' ; <- GuiCtrlRead($Input1)
    ShellExecute($link)

    [/autoit]


    Dann wird der Link mit dem Standardbrowser des Benutzers aufgerufen.

  • inputbox und Dateistring vergleichen

    • Oscar
    • 16. Mai 2013 um 19:40

    Der Ansatz ist doch schon ganz gut. Etwas erweitert und es klappt:

    Spoiler anzeigen
    [autoit]


    FileDelete("check.txt")
    FileWrite("check.txt", "Zeile 1" & @CRLF & "Zeile 2" & @CRLF & "Zeile 3" & @CRLF & "Zeile 4")
    $Suchstring = "Zeile 2"
    $Dateitext = FileRead('check.txt')
    If StringRegExp($Dateitext, '.*(?:\A|\r\n)(' & $Suchstring & ')(?:\z|\r\n).*') Then
    MsgBox(0, "", "String vorhanden!")
    Else
    MsgBox(0, "", "Nö")
    EndIf

    [/autoit]
  • Festplatte nach Dateitype durchsuchen

    • Oscar
    • 14. Mai 2013 um 18:32

    Um dem Benutzer den Fortschritt anzuzeigen, könnte man ja auch das aktuell durchsuchte Verzeichnis per ToolTip anzeigen.
    Hier mal mit Aktualisierungsintervall von 50 ms:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    $iTimer = TimerInit()
    $sDir = @ProgramFilesDir
    $ret = _RecursiveFileListToArray($sDir, '\.exe\z', 1, 1, True)
    ToolTip('')
    ConsoleWrite(TimerDiff($iTimer) & @CR)
    If IsArray($ret) Then
    _ArrayDisplay($ret)
    Else
    ConsoleWrite($ret)
    EndIf

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

    ;===============================================================================
    ; Function Name: _RecursiveFileListToArray($sPath[, $sPattern][, $iFlag][, $iFormat][, $fRecursion][, $sDelim])
    ; Description:: gibt Verzeichnisse (rekursiv) und/oder Dateien zurück, die einem RegExp-Pattern entsprechen
    ; Parameter(s): $sPath = Startverzeichnis
    ; $sPattern = ein beliebiges RexExp-Pattern für die Auswahl
    ; $iFlag = Auswahl
    ; 0 = Dateien & Verzeichnisse
    ; 1 = nur Dateien
    ; 2 = nur Verzeichnisse
    ; $iFormat = Rückgabeformat
    ; 0 = String
    ; 1 = Array mit [0] = Anzahl
    ; 2 = Nullbasiertes Array
    ; $fRecursion = Verzeichnisse rekursiv durchsuchen
    ; False = Nein
    ; True = Ja
    ; $sDelim = Trennzeichen für die String-Rückgabe
    ; Requirement(s): AutoIt 3.3.0.0
    ; Return Value(s): Array/String mit den gefundenen Dateien/Verzeichnissen
    ; Author(s): Oscar (http://www.autoit.de)
    ; Anregungen von: bernd670 (http://www.autoit.de)
    ; und: AspirinJunkie (http://www.autoit.de)
    ;===============================================================================
    Func _RecursiveFileListToArray($sPath, $sPattern = '', $iFlag = 0, $iFormat = 1, $fRecursion = True, $sDelim = @CRLF, $fOpenDLL = True)
    Local $hSearch, $sFile, $sReturn = '', $aD
    Local Static $hDll
    If StringRight($sPath, 1) <> '\' Then $sPath &= '\'
    $hSearch = FileFindFirstFile($sPath & '*')
    If Not @error And $hSearch <> -1 Then
    If $fOpenDLL Then $hDll = DllOpen('kernel32.dll')
    While True
    $sFile = FileFindNextFile($hSearch)
    If @error Then ExitLoop
    If @extended Then
    $aD = DllCall($hDll, 'dword', 'GetFileAttributesW', 'wstr', $sPath & $sFile)
    If @error Or BitAND($aD[0], 0x400) Then ContinueLoop
    If StringRegExp($sPath & $sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 2) Then $sReturn &= $sPath & $sFile & '\' & $sDelim
    If $fRecursion Then $sReturn &= _RecursiveFileListToArray(_ShowProgress($sPath & $sFile & '\'), $sPattern, $iFlag, 0, True, $sDelim, False)
    ContinueLoop
    EndIf
    If StringRegExp($sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 1) Then $sReturn &= $sPath & $sFile & $sDelim
    WEnd
    FileClose($hSearch)
    If $fOpenDLL Then DllClose($hDll)
    EndIf
    If $iFormat = 2 Then $iFormat = 3
    If $iFormat And $sReturn = '' Then Return StringSplit($sReturn, '', $iFormat)
    If $iFormat Then Return StringSplit(StringTrimRight($sReturn, StringLen($sDelim)), $sDelim, $iFormat)
    Return $sReturn
    EndFunc

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

    Func _ShowProgress($sPath)
    Local Static $iTimer2 = TimerInit()
    If TimerDiff($iTimer2) > 50 Then
    $iTimer2 = TimerInit()
    ToolTip($sPath, 20, 20, 'Suche exe-Dateien...', 1, 5)
    EndIf
    Return $sPath
    EndFunc

    [/autoit]
  • Laufbalken parallel zum Skript

    • Oscar
    • 14. Mai 2013 um 17:25

    Mit Hilfe der Timer-UDF ist sowas möglich:

    Spoiler anzeigen
    [autoit]


    #include <Timers.au3>

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

    $hGui = GUICreate('Test', 320, 120, 10, 10)

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

    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 0) ; auf den klassischen Style umschalten
    $idProgress = GUICtrlCreateProgress(10, 10, 300, 30)
    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 7) ; zurück zum Standard-Windowsstyle

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

    GUISetState()
    WinSetOnTop($hGui, '', 1)

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

    $iTimer = TimerInit()
    $iEndTime = 10000 ; <- Zeit in Millisekunden, bis Notepad automatisch geschlossen wird
    _Timer_SetTimer($hGui, 20, '_UpdateProgress')

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

    RunWait('Notepad.exe') ; <- wartet auf das beenden von Notepad

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

    _Timer_KillAllTimers($hGui)
    GUIDelete($hGui)
    Exit

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

    Func _UpdateProgress($hWnd, $Msg, $iIDTimer, $dwTime)
    #forceref $hWnd, $Msg, $iIDTimer, $dwTime
    Local $iTimerDiff = TimerDiff($iTimer)
    If $iTimerDiff > $iEndTime Then Return ProcessClose('Notepad.exe')
    Local $iPercent = Int(100 / $iEndTime * $iTimerDiff)
    GUICtrlSetData($idProgress, $iPercent)
    EndFunc

    [/autoit]
  • relativ bekannte Dateinamen angeben möglich?

    • Oscar
    • 13. Mai 2013 um 16:18

    Eine "unscharfe" Dateisuche ist so nicht möglich.
    Du musst schon alle (Txt-)Dateien aus dem Ordner einlesen (_FileListToArray) und dann im Script testen (StringRegExp).

  • Festplatte nach Dateitype durchsuchen

    • Oscar
    • 13. Mai 2013 um 11:46

    Was hat das aber für einen Sinn, wenn ich auf den Anfang des Einlesens mit Live-Aktualisierung bereits solange warten muss, wie bei einer anderen Funktion bereits das gesamte Einlesen dauert.
    Ich weiß, dass es sinnvoll ist den Benutzer anzuzeigen wie weit das Programm gerade ist, aber eine Prozentanzeige ist halt dahingehend sehr schlecht, weil man erstmal die 100% rausbekommen muss.
    Eine Anzeige ("Bitte warten...dauert u.U. einige Minuten") wäre wohl meist ausreichend. Wenn unbedingt die Prozentanzeige gewünscht ist, dann auf keinen Fall bei jeder Datei aktualisieren, sondern mittels Timer nur alle 200ms oder so.
    Das würde dann auch das flackern minimieren.

  • Festplatte nach Dateitype durchsuchen

    • Oscar
    • 12. Mai 2013 um 19:59

    Das DirGetSize dauert ja schon "ewig". Da ist meine Funktion bereits mit dem einlesen fertig. ;)

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    $iTimer = TimerInit()
    $sDir = @ProgramFilesDir
    $ret = _RecursiveFileListToArray($sDir, '\.exe\z', 1, 1, True)
    ConsoleWrite(TimerDiff($iTimer) & @CR)
    If IsArray($ret) Then
    _ArrayDisplay($ret)
    Else
    ConsoleWrite($ret)
    EndIf

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

    ;===============================================================================
    ; Function Name: _RecursiveFileListToArray($sPath[, $sPattern][, $iFlag][, $iFormat][, $fRecursion][, $sDelim])
    ; Description:: gibt Verzeichnisse (rekursiv) und/oder Dateien zurück, die einem RegExp-Pattern entsprechen
    ; Parameter(s): $sPath = Startverzeichnis
    ; $sPattern = ein beliebiges RexExp-Pattern für die Auswahl
    ; $iFlag = Auswahl
    ; 0 = Dateien & Verzeichnisse
    ; 1 = nur Dateien
    ; 2 = nur Verzeichnisse
    ; $iFormat = Rückgabeformat
    ; 0 = String
    ; 1 = Array mit [0] = Anzahl
    ; 2 = Nullbasiertes Array
    ; $fRecursion = Verzeichnisse rekursiv durchsuchen
    ; False = Nein
    ; True = Ja
    ; $sDelim = Trennzeichen für die String-Rückgabe
    ; Requirement(s): AutoIt 3.3.0.0
    ; Return Value(s): Array/String mit den gefundenen Dateien/Verzeichnissen
    ; Author(s): Oscar (http://www.autoit.de)
    ; Anregungen von: bernd670 (http://www.autoit.de)
    ; und: AspirinJunkie (http://www.autoit.de)
    ;===============================================================================
    Func _RecursiveFileListToArray($sPath, $sPattern = '', $iFlag = 0, $iFormat = 1, $fRecursion = True, $sDelim = @CRLF, $fOpenDLL = True)
    Local $hSearch, $sFile, $sReturn = '', $aD
    Local Static $hDll
    If StringRight($sPath, 1) <> '\' Then $sPath &= '\'
    $hSearch = FileFindFirstFile($sPath & '*')
    If Not @error And $hSearch <> -1 Then
    If $fOpenDLL Then $hDll = DllOpen('kernel32.dll')
    While True
    $sFile = FileFindNextFile($hSearch)
    If @error Then ExitLoop
    If @extended Then
    $aD = DllCall($hDll, 'dword', 'GetFileAttributesW', 'wstr', $sPath & $sFile)
    If @error Or BitAND($aD[0], 0x400) Then ContinueLoop
    If StringRegExp($sPath & $sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 2) Then $sReturn &= $sPath & $sFile & '\' & $sDelim
    If $fRecursion Then $sReturn &= _RecursiveFileListToArray($sPath & $sFile & '\', $sPattern, $iFlag, 0, True, $sDelim, False)
    ContinueLoop
    EndIf
    If StringRegExp($sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 1) Then $sReturn &= $sPath & $sFile & $sDelim
    WEnd
    FileClose($hSearch)
    If $fOpenDLL Then DllClose($hDll)
    EndIf
    If $iFormat = 2 Then $iFormat = 3
    If $iFormat And $sReturn = '' Then Return StringSplit($sReturn, '', $iFormat)
    If $iFormat Then Return StringSplit(StringTrimRight($sReturn, StringLen($sDelim)), $sDelim, $iFormat)
    Return $sReturn
    EndFunc

    [/autoit]
  • Automatische Laufwerkserkennung

    • Oscar
    • 12. Mai 2013 um 14:01

    Wenn man ein Programm schreibt, in dem man die zur Verfügung stehenden Laufwerke dem Benutzer zur Auswahl anbieten will, dann steht man vor dem Problem (während der Laufzeit des Scripts) eine Änderung der zur Verfügung stehenden Laufwerke mitzubekommen. Das könnte man einerseits so lösen, dass man eine Prüfroutine alle paar Sekunden aufruft oder (was ein besserer Weg ist) Windows anweisen, eine Funktion in unserem Script aufzurufen, wenn sich an der Laufwerksauswahl etwas ändert. Das Ganze kann man mit Hilfe von GUIRegisterMsg und $WM_DEVICECHANGE erreichen.
    Hier mal ein Beispiel:

    Spoiler anzeigen
    [autoit]


    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>

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

    Global Const $WM_DEVICECHANGE = 0x0219 ; Notifies an application of a change to the hardware configuration of a device or the computer.
    Global Const $DBT_DEVICEARRIVAL = 0x8000 ; A device or piece of media has been inserted and is now available.
    Global Const $DBT_DEVICEREMOVECOMPLETE = 0x8004 ; A device or piece of media has been removed.

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

    $hGui = GUICreate('Automatische Laufwerkserkennung', 380, 200)
    GUICtrlCreateLabel('Laufwerke mit Datenträger:', 20, 30, 180, 20)
    $idDrivesReady = GUICtrlCreateCombo('', 20, 50, 120, 20, $CBS_DROPDOWNLIST)
    GUICtrlCreateLabel('Laufwerke ohne Datenträger:', 220, 30, 180, 20)
    $idDrivesNotReady = GUICtrlCreateCombo('', 220, 50, 120, 20, $CBS_DROPDOWNLIST)
    _ReadDrives()
    GUISetState()
    GUIRegisterMsg($WM_DEVICECHANGE, 'MY_WM_DEVICECHANGE')

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    Func MY_WM_DEVICECHANGE($hWnd, $Msg, $wParam, $lParam)
    #forceref $hWnd, $Msg, $lParam
    Switch $wParam
    Case $DBT_DEVICEARRIVAL
    ConsoleWrite('A device or piece of media has been inserted and is now available.' & @CR)
    _ReadDrives()
    Case $DBT_DEVICEREMOVECOMPLETE
    ConsoleWrite('A device or piece of media has been removed.' & @CR)
    _ReadDrives()
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>MY_WM_DEVICECHANGE

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

    Func _ReadDrives()
    Local $aDrives, $sDrivesReady, $sDrivesNotReady, $sTmp
    GUICtrlSetData($idDrivesReady, '')
    GUICtrlSetData($idDrivesNotReady, '')
    $aDrives = DriveGetDrive('ALL')
    For $i = 1 To $aDrives[0]
    If DriveStatus($aDrives[$i]) = 'READY' Then
    $sDrivesReady &= '|' & StringUpper($aDrives[$i])
    $sTmp = DriveGetLabel($aDrives[$i])
    If $sTmp <> '' Then $sDrivesReady &= ' (' & $sTmp & ') '
    Else
    $sDrivesNotReady &= '|' & StringUpper($aDrives[$i])
    EndIf
    Next
    GUICtrlSetData($idDrivesReady, StringTrimLeft($sDrivesReady, 1), StringRegExpReplace($sDrivesReady, '\|(.+?)\|.*', '$1'))
    GUICtrlSetData($idDrivesNotReady, StringTrimLeft($sDrivesNotReady, 1), StringRegExpReplace($sDrivesNotReady, '\|(.+?)\|.*', '$1'))
    EndFunc ;==>_ReadDrives

    [/autoit]
  • Identifikation von Fenstern mit gleichen AU3-Infos anhand mehrerer Parameter? Möglichkeit der Identifikation durch Ausschließen von Parametern?

    • Oscar
    • 9. Mai 2013 um 19:43

    Kannst Du die Anwendung über RUN starten?
    Dann hättest Du die PID und damit kann man Title und Handle bekommen:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    $PID = Run('cmd.exe')
    ConsoleWrite('PID: ' & $PID & @CR)
    Sleep(100)
    $aTitleHandle = _PID2WinTitleHandle($PID)
    ;~ _ArrayDisplay($title)
    ConsoleWrite('Title: ' & $aTitleHandle[0][0] & @CR)
    ConsoleWrite('Handle: ' & $aTitleHandle[0][1] & @CR)
    WinClose($aTitleHandle[0][1])

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

    Func _PID2WinTitleHandle($PID)
    Local $aTH[1][2], $aList = WinList()
    For $i = 1 To $aList[0][0]
    If $PID = WinGetProcess($aList[$i][1]) Then
    $aTH[UBound($aTH) - 1][0] = $aList[$i][0]
    $aTH[UBound($aTH) - 1][1] = $aList[$i][1]
    ReDim $aTH[UBound($aTH) + 1][2]
    EndIf
    Next
    If UBound($aTH) > 1 Then ReDim $aTH[UBound($aTH) - 1][2]
    Return $aTH
    EndFunc ;==>_PID2WinTitleHandle

    [/autoit]
  • Identifikation von Fenstern mit gleichen AU3-Infos anhand mehrerer Parameter? Möglichkeit der Identifikation durch Ausschließen von Parametern?

    • Oscar
    • 9. Mai 2013 um 17:04
    Zitat von tobius

    Demnach muss das Fenster wohl irgendwie über das Handle angesteuert werden..

    Und wo ist das Problem?
    Die WinXXX-Befehle lassen sich doch auch mit dem Handle anstelle des Titels nutzen:

    [autoit]

    WinActivate($handle)

    [/autoit]


    funktioniert doch...
    Wobei man folgendes beachten sollte:

    Zitat

    When you use a window handle for the title parameter then the text parameter is completely ignored.

  • DLL - Frage

    • Oscar
    • 1. Mai 2013 um 19:28
    Zitat von Seikuassi

    Bevor ich den Thread als "gelöst" kennzeichne, würde ich noch gerne mehr über die "uxtheme.dll" wissen. Speziell eben über das ändern des WIndows-Stiles unter Windows 7 ultimate 64-Bit.
    Ist es nun möglich ein Windows XP-Fenster unter Windows 7 ultimate anzuzeigen mithilfe dieser DLL? Und wenn ja, wie?


    Wenn Du damit den klassischen Stil meinst. Das geht so:

    Spoiler anzeigen
    [autoit]


    #include <SliderConstants.au3>
    #include <StaticConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>

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

    Global $hGui = GUICreate('Klassische Progressbar', 420, 280, -1, -1)

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

    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 0) ; auf den klassischen Style umschalten
    Global $hProgress1 = GUICtrlCreateProgress(15, 20, 384, 20, $PBS_SMOOTH) ; obere Progressbar erstellen
    GUICtrlSetColor(-1, 0x22FF22)
    GUICtrlSetBkColor(-1, 0xEEEEEE)
    GUICtrlCreateLabel('|', 18, 40, 20, 16) ; Anzeige von 0%
    GUICtrlCreateLabel('0%', 11, 56, 25, 16, $SS_CENTER)
    GUICtrlCreateLabel('|', 396, 40, 20, 16) ; Anzeige von 100%
    GUICtrlCreateLabel('100%', 389, 56, 25, 16, $SS_CENTER)

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

    Global $hLabel1 = GUICtrlCreateLabel('0%', 190, 23, 30, 14, $SS_CENTER) ; Prozentanzeige innerhalb der Progressbar
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Transparenter Hintergrund für das Label

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

    Global $hProgress2 = GUICtrlCreateProgress(15, 160, 384, 20, $PBS_SMOOTH) ; untere Progressbar erstellen
    GUICtrlSetColor(-1, 0xC83131)
    GUICtrlSetBkColor(-1, 0xEEEEEE)

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

    For $i = 0 To 100 Step 10 ; die Anzeige für die Prozentwerte der unteren Progressbar erstellen
    GUICtrlCreateLabel('|', 16 + $i * 3.8, 180, 20, 16)
    GUICtrlCreateLabel($i & '%', 9 + $i * 3.8, 196, 25, 16, $SS_CENTER)
    Next

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

    Global $hSlider = GUICtrlCreateSlider(5, 130, 404, 28, BitOR($TBS_TOOLTIPS, $TBS_AUTOTICKS))
    GUICtrlSetData(-1, 33) ; Sliderwert auf 33% setzen (als Beispiel)

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

    Global $hClose = GUICtrlCreateButton('Close', 180, 240, 60, 24)
    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 7) ; zurück zum Standard-Windowsstyle

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

    GUISetState(@SW_SHOW)

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

    Global $iAddend = 1 ; globale Variable (dient als Summand für _SetProgress)
    AdlibRegister('_SetProgress', 50)

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

    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE, $hClose
    AdlibUnRegister()
    Exit
    EndSwitch
    WEnd

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

    Func _SetProgress()
    Local $iPercent = GUICtrlRead($hProgress1) ; Prozentwert der oberen Progressbar auslesen
    If $iPercent = 100 Or $iPercent = 0 Then $iAddend = -$iAddend ; wenn 100 oder Null, dann den Summand negieren
    GUICtrlSetData($hProgress1, $iPercent + $iAddend) ; neuen Wert der oberen Progressbar schreiben
    GUICtrlSetData($hLabel1, $iPercent + $iAddend & '%') ; neuen Wert für das Label schreiben
    GUICtrlSetData($hProgress2, GUICtrlRead($hSlider)) ; und den Wert vom Slider in die untere Progressbar schreiben
    EndFunc ;==>_SetProgress

    [/autoit]
  • txt in edit

    • Oscar
    • 29. April 2013 um 11:50

    [Posting wiederhergestellt]

  • Interprozesskommunikation

    • Oscar
    • 26. April 2013 um 19:52

    Das Beispiel funktioniert prima. Sowohl als Script, als auch compiliert. Vielen Dank, m-obi! :thumbup:
    Endlich mal ein NamedPipe-Script, das fehlerfrei läuft. :)

  • Funktionen von außen aufrufen

    • Oscar
    • 26. April 2013 um 16:50

    Habe ich schonmal gemacht: Interprozesskommunikation

  • FotoSort

    • Oscar
    • 20. April 2013 um 17:00

    Ich habe jetzt noch einen Vollbildmodus hinzugefügt. Neue Version in Post#1.

  • FotoSort

    • Oscar
    • 18. April 2013 um 21:42

    Neues Update. Siehe Post#1.

  • FotoSort

    • Oscar
    • 17. April 2013 um 17:33

    UEZ: Ja, das mit dem Switch hatte ich auch schon bemerkt. Ist auch schon geändert. _ShowStatus() selbst ist gar nicht so das Problem. _CheckButtons() hatte so lange gedauert. Dafür habe ich jetzt aber schon eine Lösung:

    [autoit]

    GUISetState(@SW_LOCK, $hGui)

    [/autoit]


    an den Anfang und

    [autoit]

    GUISetState(@SW_UNLOCK, $hGui)

    [/autoit]


    ans Ende der Funktion und schon ist die Funktion gut 7mal so schnell. :) Danke, für den Hinweis!

    HassanMullah: Stimmt, ein Löschen-Button wäre ganz brauchbar. Es ist ja noch Platz! Das ist schnell gemacht. :)

  • FotoSort

    • Oscar
    • 16. April 2013 um 15:09

    Ich habe Deine Funktion jetzt mal (abgewandelt) übernommen. Die ist doch deutlich schneller (vorher: 192 ms, jetzt 2 ms). Vielen Dank, UEZ! :thumbup:

    Neue Version in Post#1.

  • FotoSort

    • Oscar
    • 16. April 2013 um 07:44

    Es gibt ein Update (Post #1). Man kann jetzt die Hintergrundfarbe verändern.

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™