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

  • Versteckte Dateien aktualisieren

    • sc4ry
    • 9. Mai 2008 um 12:21

    ich muss leider sagen, dass die aktualisiserung des explorer in keinster weise funktioniert =/
    aber ansonsten schönes script =)

  • versteckte Dateien anzeigen/verstecken ... funktionierendes Script?

    • sc4ry
    • 9. Mai 2008 um 12:14

    das krasse ist auch, man kann ja über bearbeiten - aktualisieren gehen, aber das geht genau so wenig, wie F5 (unabhängig von ordnerleiste oder nicht).
    ziemlich strange ...

  • WinSetOnTop v2

    • sc4ry
    • 9. Mai 2008 um 11:25

    need help, komm echt nicht weiter.
    und zwar oben angesprochenes prob ... am ende des programms werden ALLE on top-attribute entfernt.
    da es aber fenster gibt, die nicht durch dieses programm ON TOP gesetzt wurden, sollen diese natürlich auch nicht am ende entzogen werden.

    es reicht aber nicht, beim programmstart zu prüfen, sondern müsste dies bei jeder aktualisierung machen (ob das fenster manuell on top gesetzt, oder vom system so gestartet wurde)

    jmd ne idee wie man das mit dem code von oben umsetzten kann?

  • Fenster von einem zweiten AutoIt programm schließen ohne das sich das erste schließt

    • sc4ry
    • 9. Mai 2008 um 10:25

    du kannst also den ganzen prozess von dem programm killen, oder?
    mach das doch über die PID

    wenn du den run-befehl ausführst, erhälst du die pid zurück, dann kannste es damit killen (ups, mehr grad, dass das wohl nicht die lösung sein kann *g*)
    oder die PID mit processexist ausfindig machen und dann die aktuelle PID (@autoitpid) ausschließen, der rest killen.

    hoffe habs richtig verstanden =)

  • WinSetState('','',@sw_maximize) geht nicht wirklich

    • sc4ry
    • 8. Mai 2008 um 15:16

    ja, aber ich habe es wieder rausgenommen, weil es nichts gebracht hat ... bzw. nicht mit global sondern mit local, wie in deinem ersten post ;)

  • WinSetState('','',@sw_maximize) geht nicht wirklich

    • sc4ry
    • 8. Mai 2008 um 14:50

    geht leider auch nicht.
    sobald ich die funktion oben vorher ausgeführt hat, reagiert er nicht mehr auf maximize.

    hier mal der auszug aus dem script zum testen

    Spoiler anzeigen
    [autoit]


    #include <array.au3>

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

    HotKeySet("!{UP}", "_MoveWindowUP")
    HotKeySet("!{DOWN}", "_MoveWindowDOWN")
    HotKeySet("!{LEFT}", "_MoveWindowLEFT")
    HotKeySet("!{RIGHT}", "_MoveWindowRIGHT")
    HotKeySet("!^{F9}", "_MoveWindowMax")

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

    Func _MoveWindowUP()
    _MoveWindow("UP")
    EndFunc
    Func _MoveWindowDOWN()
    _MoveWindow("DOWN")
    EndFunc
    Func _MoveWindowLEFT()
    _MoveWindow("LEFT")
    EndFunc
    Func _MoveWindowRIGHT()
    _MoveWindow("RIGHT")
    EndFunc
    Func _MoveWindowMax()
    _MoveWindow("Max")
    EndFunc

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

    Func _MoveWindow($dummy)
    Local $aSize[3][5] ; [0]=Handle, [1]=Breite, [2]=Höhe, [3]=x, [4]=y
    $aSize[0][1] = @DesktopWidth
    $aSize[0][2] = @DesktopHeight
    If $dummy = "UP" Then
    $aSize[1][1] = @DesktopWidth
    $aSize[2][1] = @DesktopWidth
    $aSize[1][2] = @DesktopHeight/2
    $aSize[2][2] = @DesktopHeight/2
    $aSize[1][3] = 0
    $aSize[2][3] = 0
    $aSize[1][4] = 0
    $aSize[2][4] = @DesktopHeight/2
    If WinGetTitle('','') <> "WinSetOnTop - Set active Window with F9 on Top" Then WinMove($aSize[1][0], '', $aSize[1][3], $aSize[1][4], $aSize[1][1], $aSize[1][2] - 25)
    ElseIf $dummy = "DOWN" Then
    $aSize[1][1] = @DesktopWidth
    $aSize[2][1] = @DesktopWidth
    $aSize[1][2] = @DesktopHeight/2
    $aSize[2][2] = @DesktopHeight/2
    $aSize[1][3] = 0
    $aSize[2][3] = 0
    $aSize[1][4] = $aSize[1][2]
    $aSize[2][4] = @DesktopHeight/2
    If WinGetTitle('','') <> "WinSetOnTop - Set active Window with F9 on Top" Then WinMove($aSize[1][0], '', $aSize[1][3], $aSize[1][4], $aSize[1][1], $aSize[1][2] - 25)
    ElseIf $dummy = "LEFT" Then
    $aSize[1][1] = @DesktopWidth/2
    $aSize[2][1] = @DesktopWidth/2
    $aSize[1][2] = @DesktopHeight
    $aSize[2][2] = @DesktopHeight
    $aSize[1][3] = 0
    $aSize[2][3] = @DesktopWidth/2
    $aSize[1][4] = 0
    $aSize[2][4] = 0
    If WinGetTitle('','') <> "WinSetOnTop - Set active Window with F9 on Top" Then WinMove($aSize[1][0], '', $aSize[1][3], $aSize[1][4], $aSize[1][1], $aSize[1][2] - 25)
    ElseIf $dummy = "RIGHT" Then
    $aSize[1][1] = @DesktopWidth/2
    $aSize[2][1] = @DesktopWidth/2
    $aSize[1][2] = @DesktopHeight
    $aSize[2][2] = @DesktopHeight
    $aSize[1][3] = $aSize[1][1]
    $aSize[2][3] = @DesktopWidth/2
    $aSize[1][4] = 0
    $aSize[2][4] = 0
    If WinGetTitle('','') <> "WinSetOnTop - Set active Window with F9 on Top" Then WinMove($aSize[1][0], '', $aSize[1][3], $aSize[1][4], $aSize[1][1], $aSize[1][2] - 25)
    ElseIf $dummy = "Max" Then
    If WinGetTitle('','') <> "WinSetOnTop - Set active Window with F9 on Top" Then WinSetState('','',@sw_maximize)
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • WinSetState('','',@sw_maximize) geht nicht wirklich

    • sc4ry
    • 8. Mai 2008 um 14:31

    thx xeno, habs noch nicht getestet, jedoch ist mir gerade was aufgefallen.
    das es nicht geht, hat mit was anderem zu tun ... warum das so ist, kann ich aber noch nicht sagen.

    und zwar tritt das problem nur auf, wenn ich vorher das jeweile fenster verschoben habe ...

    [autoit]

    $aSize[1][1] = @DesktopWidth
    $aSize[2][1] = @DesktopWidth
    $aSize[1][2] = @DesktopHeight/2
    $aSize[2][2] = @DesktopHeight/2
    $aSize[1][3] = 0
    $aSize[2][3] = 0
    $aSize[1][4] = 0
    $aSize[2][4] = @DesktopHeight/2
    If WinGetTitle('','') <> "WinSetOnTop - Set active Window with F9 on Top" Then WinMove($aSize[1][0], '', $aSize[1][3], $aSize[1][4], $aSize[1][1], $aSize[1][2] - 25)

    [/autoit]

    dann kann ich es übrigens auch nicht mehr manuell am rand packen und vergrößern/-kleinern. und wann das nicht geht, geht auch kein maximieren mehr oO

    wenns geht, würde ich gerne das ändern, weil es schon vorkommt, dass wenn ich das fenster mit nem hotkey verschiebe (anzeige nur noch auf dem halben bildschirm), ich es manuell noch nen ticken kleiner machen muss.

    jmd ne idee wieso das so ist?

  • WinSetState('','',@sw_maximize) geht nicht wirklich

    • sc4ry
    • 8. Mai 2008 um 14:09

    Hi,

    ich habe nen Hotkey, der das aktive fenster MAXIMIZEN soll.
    aber leider geht das nicht.

    code ist:

    [autoit]

    If WinGetTitle('','') <> "WinSetOnTop - Set active Window with F9 on Top" Then WinSetState('','',@sw_maximize)

    [/autoit]

    der hotkey funktioniert (springt in die richtige funktion) und dort in die richtige IF-bedingung. wenn ich den hotkey was anderes ausführen lasse (winsettrans) geht es auch,
    nur maximizen geht nicht (immer).

    bei scite funzt das, aber bei autoit help oder excel zB nicht.
    jmd ne ahnung wodran das liegt ?

  • versteckte Dateien anzeigen/verstecken ... funktionierendes Script?

    • sc4ry
    • 8. Mai 2008 um 01:54

    richtig, bzw ...

    durch aktualisieren durch "F5" geht es nicht, wenn man jedoch rechtsklick - aktualisieren macht, geht es wohl.
    nur ka warum und wie man das emulieren kann =)

  • WinSetTrans Hotkey

    • sc4ry
    • 7. Mai 2008 um 22:02

    Hiho, ich würde gerne nen hotkey basteln, mit dem man ein oder mehrere fenster transparent setzen kann, auf erneuten druck des hotkeys, dies wieder aufgehoben wird. das ganze würde ich gerne in ein anderes script integrieren.

    jmd ne idee ?

    PS: thx, klappt wunderbar =)
    jetzt wollt ich mal gucken, ob ich es noch hinbekomme, so dass man das fenster durch ALT UP/DOWN oder ALT +/- immer um 1 (oder 10) punkte un/transparenter machen kann.

  • versteckte Dateien anzeigen/verstecken ... funktionierendes Script?

    • sc4ry
    • 7. Mai 2008 um 21:39

    mit nem hotkey die versteckten dateien anzeigen/ausblenden. und am besten dass es bei allen aktiven fenstern direkt übernommen wird

  • versteckte Dateien anzeigen/verstecken ... funktionierendes Script?

    • sc4ry
    • 7. Mai 2008 um 16:36

    Hallo,

    gibt es hierzu bereits ein funktionierendes Script?
    gibt zwar mehrere threads mit anfängen u nd scripten, jedoch gehen die entweder garnicht, oder, wie zumindest in
    1 script wo alles soweit tadellos funzt, werden die/das explorer fenster nicht automatisch aktualisiert.

    das wäre folgendes script

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <Process.au3>
    #include <Misc.au3>
    #Include <WinAPI.au3>
    ;
    AutoItSetOption("WinTitleMatchMode", 4)
    Opt("MustDeclareVars", 1)
    ;
    ;
    ;===============================================================================
    ; Start Program
    ;===============================================================================
    _main()
    ;
    ;
    ;===============================================================================
    ; Functions
    ;===============================================================================
    Func _main()
    _changeFileVisible()
    If @error Then Exit
    _listWin()
    EndFunc ;==>_main
    ;
    ;===============================================================================
    ; Function Name: _listWin
    ; Description: Listet alle offenen Fenster auf und selektiert die "WindowS-Explorer" Fenster in ein Array.
    ; Der erste Wert im Array ist auch gleichzeitig das "Aktive".
    ; Parameter(s):
    ;
    ;
    ; Syntax: _listWin()
    ; Return Value(s): On Success - Gibt ein Array zurück mit allen existierenden "Windows-Explorer" Fenstern
    ; deren Handle und Status
    ; $av_ExplorerWinList["Fenstertitel"]["Handle"]["Status"]
    ; On Failure -
    ;
    ; Author(s): Patric Pendelin <[email='patricpendelin@gmx.de'][/email]>
    ;===============================================================================
    Func _listWin()
    Local $ah_WinList = WinList()
    Local $av_ExplorerWinList[$ah_WinList[0][0]][3]
    Local $s_winState
    Local $s_winStatus
    Local $f_Class
    ;
    For $i = 0 To $ah_WinList[0][0] Step 1
    If $ah_WinList[$i][0] <> "" And IsVisible($ah_WinList[$i][1]) Then
    $f_Class = _isClass($ah_WinList[$i][0], "ExploreWClass")
    If $f_Class Then
    $av_ExplorerWinList[0][0] += 1
    $av_ExplorerWinList[$i][0] = $ah_WinList[$i][0]
    $av_ExplorerWinList[$i][1] = $ah_WinList[$i][1]
    $s_winState = WinGetState($ah_WinList[$i][1], "")
    ;
    If $s_winState = 7 Then
    $s_winStatus = "@SW_RESTORE"
    ElseIf $s_winState = 23 Then
    $s_winStatus = "@SW_MINIMIZE"
    ElseIf $s_winState = 39 Or $s_winState = 35 Then
    $s_winStatus = "@SW_MAXIMIZE"
    Else
    $s_winStatus = ""
    EndIf
    $av_ExplorerWinList[$i][2] = $s_winStatus
    EndIf
    EndIf
    Next
    $ah_WinList = ""; leert das Array
    _Array2DEmptyDel($av_ExplorerWinList, 0); löscht alle lehren Spalten
    ;
    ;~ _ArrayDisplay($av_ExplorerWinList, "_listWin")
    ;
    Return $av_ExplorerWinList
    EndFunc ;==>_listWin
    ;
    ;===============================================================================
    ; Function Name: _changeFileVisible
    ; Description:
    ;
    ; Parameter(s): Prüft, sdie Registry, wie der aktuelle Zustand der Versteckten Dateien ist
    ; und ändert den Wert dementsprechend
    ;
    ;
    ; Syntax: _changeFileVisible()
    ; Return Value(s): On Success - Return 1
    ; On Failure - Return 0
    ;
    ; Author(s): Patric Pendelin <[email='patricpendelin@gmx.de'][/email]>
    ;===============================================================================
    Func _changeFileVisible()
    Local $i_State
    ;
    $i_State = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "Hidden")
    If $i_State = 1 Then
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "Hidden", "REG_DWORD", "2")
    If Not @error Then Return 1
    ElseIf $i_State = 2 Then
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "Hidden", "REG_DWORD", "1")
    If Not @error Then Return 1
    EndIf
    If @error Then Return 0
    EndFunc ;==>_changeFileVisible
    ;
    ;===============================================================================
    ; Function Name: _isClass
    ; Description:
    ;
    ; Parameter(s): Prüft, ob es sich um die jeweilige Klasse handelt.
    ;
    ;
    ; Syntax: _isClass($s_WindowTitel, $s_Class)
    ; Return Value(s): On Success - Return 1
    ; On Failure - Return 0
    ;
    ; Author(s): Patric Pendelin <[email='patricpendelin@gmx.de'][/email]>
    ;===============================================================================
    Func _isClass($s_WindowTitel, $s_Class)
    Local $s_ClassName
    Local $h_Handle
    ;
    $s_ClassName = "classname=" & $s_Class
    $h_Handle = WinGetHandle($s_ClassName, $s_WindowTitel)
    If @error Then
    SetError(1)
    Return 0
    Else
    Return 1
    EndIf
    EndFunc ;==>_isClass
    ;
    ;===============================================================================
    ; Function Name: IsVisible
    ; Description:
    ;
    ; Parameter(s):
    ;
    ;
    ; Syntax: IsVisible($h_Handle)
    ; Return Value(s): On Success - Return 1
    ; On Failure - Return 0
    ;
    ; Author(s): AutoIt3 Help
    ;===============================================================================
    Func IsVisible($h_Handle)
    If BitAND(WinGetState($h_Handle), 2) Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc ;==>IsVisible
    ;
    ;
    ;----------------------------------------------------------------------------------------------------------------------
    ; UDFs
    ;----------------------------------------------------------------------------------------------------------------------
    ;
    ;----------------------------------------------------------------------------------------------------------------------
    ; Function _Array2DEmptyDel(ByRef $avArray [, $Col=0])
    ;
    ; Description Delete empty Array elements
    ; Delete all emty Rows or all empty Columns
    ; Works also with 1D-Array (only Rows)
    ;
    ; Parameter $avArray Given Array
    ; optional $Col set 1 to delete empty Columns; default is 0 to delete empty Rows
    ;
    ; Return Succes -1 ByRef the given Array without empty Elements, resized
    ; Failure 0 and set @error = 1
    ;
    ; Author BugFix ([email='bugfix@autoit.de'][/email])
    ;----------------------------------------------------------------------------------------------------------------------
    Func _Array2DEmptyDel(ByRef $avArray, $Col = 0)
    If (Not IsArray($avArray)) Then
    SetError(1)
    Return 0
    EndIf
    Local $UBound2nd = UBound($avArray, 2)
    If @error = 2 Then
    Local $arTMP[1]
    For $i = 0 To UBound($avArray) - 1
    If StringLen($avArray[$i] > 0) Then
    If StringLen($arTMP[UBound($arTMP) - 1]) = 0 Then
    $arTMP[UBound($arTMP) - 1] = $avArray[$i]
    Else
    ReDim $arTMP[UBound($arTMP) + 1]
    $arTMP[UBound($arTMP) - 1] = $avArray[$i]
    EndIf
    EndIf
    Next
    Else
    If $Col = 0 Then
    Local $arTMP[1][$UBound2nd], $val, $len
    For $i = 0 To UBound($avArray) - 1
    $val = ''
    For $k = 0 To $UBound2nd - 1
    $val &= $avArray[$i][$k]
    Next
    If StringLen($val) > 0 Then
    $len = 0
    For $k = 0 To UBound($arTMP, 2) - 1
    $len &= StringLen($arTMP[UBound($arTMP) - 1][$k])
    Next
    If $len = 0 Then
    For $k = 0 To $UBound2nd - 1
    $arTMP[UBound($arTMP) - 1][$k] = $avArray[$i][$k]
    Next
    Else
    ReDim $arTMP[UBound($arTMP) + 1][$UBound2nd]
    For $k = 0 To $UBound2nd - 1
    $arTMP[UBound($arTMP) - 1][$k] = $avArray[$i][$k]
    Next
    EndIf
    EndIf
    Next
    Else
    Local $arTMP[UBound($avArray)][1], $val, $len
    For $k = 0 To $UBound2nd - 1
    $val = ''
    Local $notEmpty = 0
    For $i = 0 To UBound($avArray) - 1
    $val &= $avArray[$i][$k]
    If StringLen($val) > 0 Then
    $notEmpty = 1
    ExitLoop
    EndIf
    Next
    If $notEmpty = 1 Then
    $len = 0
    For $i = 0 To UBound($arTMP) - 1
    $len &= StringLen($arTMP[$i][UBound($arTMP, 2) - 1])
    Next
    If $len = 0 Then
    For $i = 0 To UBound($avArray) - 1
    $arTMP[$i][0] = $avArray[$i][$k]
    Next
    Else
    ReDim $arTMP[UBound($avArray)][UBound($arTMP, 2) + 1]
    For $i = 0 To UBound($avArray) - 1
    $arTMP[$i][UBound($arTMP, 2) - 1] = $avArray[$i][$k]
    Next
    EndIf
    EndIf
    Next
    EndIf
    EndIf
    $avArray = $arTMP
    Return -1
    EndFunc ;==>_Array2DEmptyDel

    [/autoit]
  • möglich: "ftp-server" mit autoit?

    • sc4ry
    • 6. Mai 2008 um 21:35

    ja, also das ist ja eine art client, womit man auf einen server connected und in dem fall was hochläd.
    ich würde aber gerne der "server" bauen ... also wo man dann später druff connected =)

  • möglich: "ftp-server" mit autoit?

    • sc4ry
    • 6. Mai 2008 um 21:16

    Hiho,

    ist es möglich, mit autoit eine art ftp-server zu basteln (navigieren und files senden/empfangen)?

  • explorer mit arbeitsplatz und ordnerleiste öffnen

    • sc4ry
    • 6. Mai 2008 um 21:06

    ah, das war also der knackpunkt, thx ;=)

  • explorer mit arbeitsplatz und ordnerleiste öffnen

    • sc4ry
    • 6. Mai 2008 um 16:12

    hiho,

    ich würde gerne den explorer auf dem arbeitsplatz öffnen, jedoch mit ordnerleiste anzeigen lassen.
    (wie) geht das?

    öffnet explorer mit arbeitsplatz:

    [autoit]

    Run ('Explorer.exe /n, ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}', '', @SW_HIDE)

    [/autoit]

    öffnet explorer mit ordnerleiste:

    [autoit]

    Run ('Explorer.exe /e', '', @SW_HIDE)

    [/autoit]

    kombiniert kommt nur ne fehlermeldung =(

  • WinSetOnTop v2

    • sc4ry
    • 6. Mai 2008 um 15:04

    hmm, guter einwand, wär mir garnicht aufgefallen, da ich zum einem den taskmanager nicht nutze und zum anderen, früher schon beim taskmanager und heute beim ersatz, on top schon von anfang an deaktiviere =)

    aber da müsste ja einfach nur vorher noch ne prüfung laufen.

    wie schauts denn mit ner automatischen aktualisierung aus? wie könnte man das bewerkstelligen? oder in nem zeitlichen intervall updaten?
    und ich wollte die dritte spalte entfernen, dafür die zeilen farblich, oder fett, hervorheben, die ON TOP sind ... wie bekommt man das hin?

  • WinSetOnTop v2

    • sc4ry
    • 5. Mai 2008 um 21:51

    dank euch ...
    hab eine neue version erstellt, paar kleine verbesserungen (neuste, dass einträge sortiert werden).
    leider ist das ganze sehr langsam, so dass man dabei zugucken kann ... wenn wer ne idee hat, wie es schneller geht,
    oder andere vorschläge hat, immer her damit =)

  • mehre exe-dateien einbinden und ausführen OHNE auf Festplatte auszulagern!

    • sc4ry
    • 2. Mai 2008 um 23:05

    was is denn mit dem beitrag aus dem engl. forum ?
    ist das nix, was zur lösung führen würde (wenn es denn geht)?

    mich würde das ganze nämlich auch brennend interessieren

  • _GUICtrlListView Fragen

    • sc4ry
    • 1. Mai 2008 um 09:42

    dank dir tweaky, werd ich machen.
    hab aber grad noch ne aktuelle frage:

    und zwar würde ich die einträge gerne sortieren lassen. das geht ja via control style.
    ich habe jedoch 3 spalten. jedoch wird, wenn ich den sortier-style nutze, in spalte 2 nur
    der erste und letzte eintrag angezeigt. und das auch noch falsch, da die nicht mehr zu
    dem eintrag aus spalte 1 passen. jmd nen plan?

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon

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

    #include <array.au3>
    #include <Process.au3>
    #include <File.au3>
    #include <GUIConstants.au3>
    #Include <GuiListView.au3>

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

    Opt("WinTitleMatchMode", 2)
    Opt("OnExitFunc", "endscript")
    Opt("GUIOnEventMode", 1)

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

    Global $var2
    Global $WinList
    Global $ini = @scriptdir & "\ActiveWin.ini"
    Global $inio = @scriptdir & "\ActiveWinOld.ini"

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

    HotKeySet("^!0", "HiDE")

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

    $Form1 = GUICreate("active Windows", 308, 312, 0, 0, "", $WS_EX_TOOLWINDOW )
    GUISetOnEvent($GUI_EVENT_CLOSE, "endscript")
    $Button1 = GUICtrlCreateButton("Set on Top or Back", 0,0,300,20)
    GUICtrlSetOnEvent(-1, "_SetOnTop")
    $ListView1 = _GUICtrlListView_Create ($Form1, "", 0, 20, 300, 250, $LVS_REPORT + $LVS_SINGLESEL + $LVS_SHOWSELALWAYS + $WS_CHILD + $WS_VISIBLE + $LVS_SORTASCENDING)
    GUICtrlSetOnEvent(-1, "_SetOnTop")
    _GUICtrlListView_SetExtendedListViewStyle ($ListView1, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_CHECKBOXES, $LVS_EX_TWOCLICKACTIVATE, $LVS_EX_HEADERDRAGDROP, $LVS_EX_GRIDLINES, $LVS_EX_BORDERSELECT ))
    _GUICtrlListView_InsertColumn ($ListView1, 0, "Process", 80)
    _GUICtrlListView_InsertColumn ($ListView1, 1, "Window", 180)
    _GUICtrlListView_InsertColumn ($ListView1, 2, "Top", 40)
    $Button2 = GUICtrlCreateButton("Update", 0, 271, 300, 20, 0)
    GUICtrlSetOnEvent(-1, "_Update")

    GUISetState(@SW_SHOW)
    WinSetOnTop($Form1,'',1)
    WinSetTrans($Form1,'', 220)

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

    _update()

    While 1
    Sleep(100)
    WEnd

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

    Func _Update()
    If FileExists($ini) Then
    $Sections = IniReadSectionNames($ini)
    If Not @error Then
    For $i = 1 To $Sections[0]
    $ReadOnTop = IniReadSection($ini, $Sections[$i])
    If Not @error Then
    For $e = 1 To $ReadOnTop[0][0]
    WinSetOnTop($ReadOnTop[$e][0], "", 0)
    Next
    EndIf
    IniDelete($ini, $Sections[$i])
    Next
    EndIf
    EndIf

    _GUICtrlListView_DeleteAllItems($ListView1)

    $var = WinList()
    For $i = 1 to $var[0][0]
    If Not @error Then
    ; Only display visble windows that have a title
    If $var[$i][0] <> "" AND IsVisible($var[$i][1]) Then
    $ProcessName = _ProcessGetName(WinGetProcess($var[$i][0]))
    If $ProcessName = @ScriptName Then
    Else
    IniWriteSection($ini, $ProcessName, "")
    IniWrite($ini, $ProcessName, $var[$i][0], "")
    EndIf
    EndIf
    EndIf
    Next

    $Sections = IniReadSectionNames($ini)
    If Not @error Then
    For $i = 1 To $Sections[0]
    $Section = IniReadSection($ini, $Sections[$i])
    If Not @error Then
    For $e = 1 To $Section[0][0]
    _GUICtrlListView_AddItem($ListView1, $Sections[$i])
    _GUICtrlListView_AddSubItem($ListView1, _GUICtrlListView_GetItemCount($ListView1) - 1, $Section[$e][0], 1)
    Next
    EndIf
    Next
    EndIf

    WinSetOnTop($Form1,'',1)

    EndFunc

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

    Func IsVisible($handle)
    If BitAnd( WinGetState($handle), 2 ) Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc

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

    Func _SetOnTop()
    For $i = 1 To _GUICtrlListView_GetItemCount($ListView1)
    $Checked = _GUICtrlListView_GetItemChecked($ListView1, $i - 1)
    If $Checked = True Then
    $Sec = _GUICtrlListView_GetItemText($ListView1, $i - 1)
    $key = _GUICtrlListView_GetItemText($ListView1, $i - 1, 1)
    $ReadOnTop = IniRead($ini, $Sec, $key, "")
    If $ReadOnTop = "" Then
    WinActivate($key)
    WinSetOnTop($key, "", 1)
    IniWrite($ini, $Sec, $key, "x")
    _GUICtrlListView_AddSubItem($ListView1, $i -1, "x", 2)
    Else
    WinSetOnTop($key, "", 0)
    WinSetState($key, "", @sw_minimize)
    IniWrite($ini, $Sec, $key, "")
    _GUICtrlListView_AddSubItem($ListView1, $i -1, "", 2)
    EndIf
    EndIf
    Next
    For $i = 1 To _GUICtrlListView_GetItemCount($ListView1)
    _GUICtrlListView_SetItemChecked($ListView1, $i - 1, False)
    Next

    WinSetOnTop($Form1,'',1)

    EndFunc

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

    Func endscript()
    If FileExists($ini) Then
    $Sections = IniReadSectionNames($ini)
    If Not @error Then
    For $i = 1 To $Sections[0]
    $ReadOnTop = IniReadSection($ini, $Sections[$i])
    If Not @error Then
    For $e = 1 To $ReadOnTop[0][0]
    WinSetOnTop($ReadOnTop[$e][0], "", 0)
    Next
    EndIf
    IniDelete($ini, $Sections[$i])
    Next
    EndIf
    FileDelete($inio)
    EndIf

    Exit
    EndFunc

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

    Func HiDE()
    $State = WinGetState($Form1)
    If $State = 15 Or $State = 7 Then
    WinSetState($Form1, "", @sw_minimize)
    ElseIf $State = 23 Then
    WinSetState($Form1, "", @SW_RESTORE)
    Else
    WinSetState($Form1, "", @SW_RESTORE)
    EndIf
    EndFunc
    ;~ Opt("WinTitleMatchMode", 1) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase

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

    ;~ $title = "Microsoft Excel - Mappe1"

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

    ;~ WinSetOnTop($title, "", 0)

    [/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™