Hallo,
wie bekomme ich einen FileSelectFolder -Dialog genau so hin, das es nur Datenträger anzeigt?
[Blockierte Grafik: http://download.lima-city.de/deepred/Bilder/98562404240823423.jpg]
Hallo,
wie bekomme ich einen FileSelectFolder -Dialog genau so hin, das es nur Datenträger anzeigt?
[Blockierte Grafik: http://download.lima-city.de/deepred/Bilder/98562404240823423.jpg]
Ja, aber man soll ja noch die Möglichkeit haben, auch die Unterordner auszuwählen.
Hallo
Musst du mal im englischen Forum nach suchen, geht bestimmt.
Sonst hier was ähnliches:
FileSelectFolder("","::{20D04FE0-3AEA-1069-A2D8-08002B30309D}")
[/autoit]Mfg Spider
Hi,
genau so hab ich das vorher auch ausprobiert, aber es wird die Systemsteuerung angezeigt. Im Englischen Forum hab ich leider nix dazu gefunden. ![]()
; schau mal im Anhang unter: CLSIDs besondere Ordner
; dort sind einige aufgeführt.
$var = FileSelectFolder ("Wähle einen Ordner aus.", "::{00000000-1080-F9E5-6311-4162E05A6BEE}", 4)
Danke. Der Eintrag Systemsteuerung ist schonmal weg. Allerdings sthet da jetzt Papierkorb. Ich hab nähmlich vor ein Setup-Script zu erstellen und es wär schön doof wenn man es ins Papierkorb installiert oder so ![]()
Ja hat denn keiner eine Idee? ![]()
Eine eigene Dialogbox erstellen?
$hGui = GUICreate('Wählen Sie ein Laufwerk aus:', 300, 210)
$hTreeView = GUICtrlCreateTreeView(10, 10, 280, 150, Default, 0x00020000)
$hRoot = GUICtrlCreateTreeViewItem('Arbeitsplatz', $hTreeView)
$aDrives = DriveGetDrive('FIXED')
For $i = 1 To $aDrives[0]
GUICtrlCreateTreeViewItem(DriveGetLabel($aDrives[$i]) & ' (' & StringUpper($aDrives[$i]) & ')', $hRoot)
Next
ControlTreeView($hGui, '', $hTreeView, 'Expand', 'Arbeitsplatz')
$hOk = GUICtrlCreateButton('Ok', 150, 170, 60, 25)
$hCancel = GUICtrlCreateButton('Abbrechen', 220, 170, 70, 25)
GUISetState()
While True
Switch GUIGetMsg()
Case -3, $hCancel
Exit
Case $hOk
MsgBox(0,0, ControlTreeView($hGui, '', $hTreeView, 'GetSelected'))
EndSwitch
WEnd
Nein. So einfach geht das doch gar nicht. Guck doch mal:
[Blockierte Grafik: http://bksoft.kilu.de/images/Unbenannt.jpg]
Ich will ja nicht nur die Datenträger anzeigen, sondern auch die Ordner die sich dahinter befinden. Ich hoffe jemand weiß eine Lösung ![]()
Sry aber dein Link hilft mir nicht weiter. Sirocool hat das selbe Problem wie ich. Bei seinem FileSelectDialog befindet sich auch das Papierkorb. ![]()
Hi,
vielleicht hilft Dir dieses weiter:
; Beispiel aus "SiS"
; $cobDest ist ein "GUICtrlCreateCombo"
Func _dest()
Local $path = FileSelectFolder($languages[71][1], "::{00000000-1080-F9E5-6311-4162E05A6BEE}", 1)
If Not @error Then
GUICtrlSetData($cobDest, $path, $path)
EndIf
EndFunc ;==>_dest
; Ein weiteres Beispiel
FileSelectFolder ("Wähle einen Ordner aus.", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", 4)
; Ende
und
CLSIDs besondere Ordner
Sinnvoll bei der Verwendung von FileOpenDialog, FileSaveDialog oder FileSelectFolder
Diese Liste wurde von Registry Guide for Windows at WinGuides Network
entnommen
Beachte: nicht alle Werte können für die oben gelisteten AutoIt Funktionen als Parameter verwendet werden.
Beispiel: FileSelectFolder ("Wähle einen Ordner aus.", "::{00000000-1080-F9E5-6311-4162E05A6BEE}", 1)
Ordner Wert für den "directory"-Parameter der File*-Funktionen
Administrationsaufgaben "::{D20EA4E1-3957-11d2-A40B-0C5020524153}"
Aktenkoffer "::{85BBD920-42A0-1069-A2E4-08002B30309D}"
Systemsteuerung "::{21EC2020-3AEA-1069-A2DD-08002b30309d}"
Schriften "::{D20EA4E1-3957-11d2-A40B-0C5020524152}"
Verlauf "::{FF393560-C2A7-11CF-BFF4-444553540000}"
Posteingang "::{00020D75-0000-0000-C000-000000000046}"
Microsoft Netzwerk "::{00028B00-0000-0000-C000-000000000046}"
Arbeitsplatz "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
Eigene Dateien "::{450D8FBA-AD25-11D0-98A8-0800361B1103}"
Netzwerkumgebung "::{208D2C60-3AEA-1069-A2D7-08002B30309D}"
Netzwerkcomputer "::{1f4de370-d627-11d1-ba4f-00a0c91eedba}"
Netzwerkverbindungen "::{7007ACC7-3202-11D1-AAD2-00805FC1270E}"
Drucker und Faxgeräte "::{2227A280-3AEA-1069-A2DE-08002B30309D}"
Programmordner "::{7be9d83c-a729-4d97-b5a7-1b7313c39e0a}"
Papierkorb "::{645FF040-5081-101B-9F08-00AA002F954E}"
Scanner und Kameras "::{E211B736-43FD-11D1-9EFB-0000F8757FCD}"
Geplante Tasks "::{D6277990-4C6A-11CF-8D87-00AA0060F5BF}"
Startmenüordner "::{48e7caab-b918-4e58-a94d-505519c795dc}"
Temporäre Internetdateien "::{7BD29E00-76C1-11CF-9DD0-00A0C9034933}"
Webordner "::{BDEADF00-C265-11d0-BCED-00A0C90AB50F}"
Viel Erfolg ! ![]()
Du kannst auch nachher einfach auf einen korrekten Pfad prüfen und eventuell die Auswahl nochmal anzeigen ![]()
$var = _selectFolder("Wähle einen Ordner aus.", "", 4)
MsgBox(0, '', $var)
Func _selectFolder($text, $root="", $flags=0, $initDir="", $hWnd=0)
; Prog@ndy
Local $path = "", $next
Do
If $next Then MsgBox(16, 'Ordner wählen', '"' & $path & '"' & @CRLF & "ist kein gültiger Pfad.", 0, $hWnd)
$path = FileSelectFolder($text, $root, $flags, $initDir, $hWnd)
If @error Then Return SetError(1,0,"")
$next = True
Until FileExists($path) And StringRegExp($path, "\A([a-zA-Z]:\\)|(\\\\)")
Return $path
EndFunc