hallo ich sitze hier vor folgenden problem bei meiner laufwerk suche
1,ich habe mehrere laufwerke im meinen pc .die ich durch suchen will. im code suche ich alle .exe.
jetzt mein problem es wird nur das letzte laufwerk durchsucht aber wieso
hier mal der code
kann einer mal helfen
danke im vorraus
Spoiler anzeigen
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;; ;
;; ;
;; ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#include <file.au3>;FÜR _PFAD SPLIT
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <FileListToArrayEx.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <GuiListView.au3>
#include <GuiStatusBar.au3>;für Statusbar
#include <array.au3>; FÜR _ArrayDisplay
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Dim $listview[1], $szDrive, $szDir, $szFName, $szExt
#region ### START Koda GUI section ### Form=C:\Form1.kxf
$Form1 = GUICreate("Form1", 617, 550, 192, 124)
GUISetBkColor(0x9DB9EB)
$Combo1 = GUICtrlCreateCombo("", 31, 350, 60, 25)
GUICtrlCreateLabel("Laufwerkauswahl!", 100, 350, 500, 25)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
$listview = GUICtrlCreateListView("", 16, 24, 593, 318)
GUICtrlSetData(-1, "")
;;;;;;;;;;;;;;;;Statusbar
Global $aParts[3] = [300, 360, -1], $aText[3] = ['Fertig.', '0', '']
Global $hStatus = _GUICtrlStatusBar_Create($Form1, $aParts, $aText, $SBARS_SIZEGRIP)
_GUICtrlStatusBar_SetSimple($hStatus, False)
_GUICtrlStatusBar_SetMinHeight($hStatus, 20)
;;;;;;;;;;;;;;;;;;;;;
Local $hLV = GUICtrlGetHandle($listview)
_GUICtrlListView_AddColumn($hLV, 'Fund [ Laufwerk: \ Pfad \ Datei ] - DoubleClick zum Öffnen des Verzeichnis! ', 500)
$Button1 = GUICtrlCreateButton(".exe", 91, 456, 49, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
GUIRegisterMsg(0x004E, "_DoubleClickOnListView");Die Funktion wird bei einem Klick auf die GUI aufgerufen!
;;;;;;;;;;;;;;;;;
#endregion ### END Koda GUI section ###
Dim $array[1][1]
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
exe()
EndSwitch
WEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func _DoubleClickOnListView($hWndGUI, $MsgID, $wParam, $lParam);Die Eigentliche Funktion
Local $tagNMHDR, $event, $hwndFrom, $code
$tagNMHDR = DllStructCreate("int;int;int", $lParam)
If @error Then Return
$event = DllStructGetData($tagNMHDR, 3); Checkt wie das EVENT aussieht
If $wParam = $listview Then;Wenn der Klick auf das ListView ging..
If $event = $NM_DBLCLK Then;.. Wenn es ein DoppelKlick war
; Hier kommt hin was er machen soll:
;MsgBox(0, "",GUICtrlRead(GUICtrlRead($ListView)))
;$Path = _PathSplit(StringReplace(GUICtrlRead(GUICtrlRead($ListView)), '|', ''), $szDrive, $szDir, $szFName, $szExt)
;ShellExecute($Path[1] & $Path[2])
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; GEÄNDERT
$Path = _PathSplit(StringReplace(GUICtrlRead(GUICtrlRead($listview)), '|', ''), $szDrive, $szDir, $szFName, $szExt)
ShellExecute($Path[1] & $Path[2])
WinWaitActive("[Class:CabinetWClass]")
$file = ($Path[3] & $Path[4])
ControlSend("[Class:CabinetWClass]", "", "", $file)
;;;;;;;;;;;;;;;;;;;;;;;
EndIf
EndIf
$tagNMHDR = 0
$event = 0
$lParam = 0
EndFunc ;==>_DoubleClickOnListView
Func exe()
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($listview))
;;;;;;;;;;;;;;;;;;;;;;;;;,,,,,,,versuchaufwerke
_GUICtrlStatusBar_SetText($hStatus, 0, 1)
$iLVCount = 0 ; Zähler auf Null setzen
$aDrives = DriveGetDrive('all') ; Alle Festplatten-Buchstaben holen
For $i = 0 To UBound($aDrives) - 1 ; Alle Festplatten durchgehen
_GUICtrlStatusBar_SetText($hStatus, 'Durchsuche Festplatte "' & StringUpper($aDrives[$i]) & '\"', 0)
$sPath = (StringUpper($aDrives[$i])) ;Wandelt einen String in Großschrift um.
If StringRight($sPath, 1) <> '\' Then $sPath &= '\'
_GUICtrlStatusBar_SetText($hStatus, 'Bitte warten...', 2)
Next
;;;;;;;;;;;;;;;;
SplashTextOn('Suche gestartet', ' Bitte warten.....', 150, 40, -1, -1, 20, "", 13)
$array = _FileListToArrayEx($sPath, '*.exe')
Dim $listviewitems[UBound($array)]
For $i = 0 To UBound($array) - 1
$listviewitems[$i] = GUICtrlCreateListViewItem($array[$i], $listview)
Next
SplashOff()
EndFunc ;==>exe
[/autoit]und hier das include