#include <GUIConstantsEx.au3>
#include <File.au3>
#include <WinAPIEx.au3>
#include <GuiListView.au3>
Dim $aDir[3] = [@SystemDir, @WindowsDir, @MyDocumentsDir]
$iInd = 0
$hGui = GUICreate('Test My', 400, 320)
$nListView = GUICtrlCreateListView('', 2, 2, 394, 268, $GUI_SS_DEFAULT_LISTVIEW, _
BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_CHECKBOXES, $LVS_EX_GRIDLINES))
$hListView = GUICtrlGetHandle($nListView)
_GUICtrlListView_AddColumn($nListView, 'Файл', 380)
$nButtonGo = GUICtrlCreateButton('Go', 75, 280, 100, 30)
$nButtonSave = GUICtrlCreateButton('Save', 225, 280, 100, 30)
GUISetState()
_WinAPI_EmptyWorkingSet()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $nButtonGo
$aFiles = _FileListToArray($aDir[$iInd], '*', 1)
If @error Then ContinueLoop
Dim $aItems[$aFiles[0]][1]
For $i = 1 To $aFiles[0]
$aItems[$i - 1][0] = $aFiles[$i]
Next
$aFiles = 0
_GUICtrlListView_DeleteAllItems($hListView)
_GUICtrlListView_BeginUpdate($hListView)
_GUICtrlListView_AddArray($nListView, $aItems)
_GUICtrlListView_EndUpdate($hListView)
;_GUICtrlListView_SetItemChecked($nListView, -1) ;Check All
WinSetTitle($hGui, '', $aDir[$iInd])
$aItems = 0
$iInd += 1
If $iInd = 3 Then $iInd = 0
Case $nButtonSave
$iCount = _GUICtrlListView_GetItemCount($nListView)
If Not $iCount Then ContinueLoop
$sText = ''
For $i = 0 To $iCount - 1
If _GUICtrlListView_GetItemChecked($nListView, $i) Then
$sText &= _GUICtrlListView_GetItemText($nListView, $i) & @CRLF
EndIf
Next
If Not $sText Then ContinueLoop
$sText = 'Dir: ' & WinGetTitle($hGui) & @CRLF & @CRLF & StringTrimRight($sText, 2)
$sFile = @ScriptDir & '\Dir_' & StringRegExpReplace(WinGetTitle($hGui), '^.*\\', '') & '.txt'
$hFile = FileOpen($sFile, 2)
FileWrite($hFile, $sText)
FileClose($hFile)
$iCount = 0
$sText = ''
$sFile = ''
$hFile = 0
EndSwitch
WEnd