階層化されたフォルダを一気に作成(U)          <TOP>


SHCreateDirectoryEx 階層化されたフォルダを一気に作成

MakeSureDirectoryPathExistsと機能は同じですが、Windows2000以降対応。Windows9x/Meは対応していません。

 


 

参照

MakeSureDirectoryPathExists

 
'================================================================
'= 階層化されたフォルダを一気に作成(U)
'= Windows2000以降、Windows9x/Meはサポート外
'=    (SHCreateDirectoryEx.bas)
'================================================================
#include "Windows.bi"

' 階層化されたフォルダを一気に作成
Declare Function Api_SHCreateDirectoryEx& Lib "shell32" Alias "SHCreateDirectoryExA" (ByVal hWnd&, ByVal pszPath$, ByVal psa As Any)

Var Shared Edit1 As Object
Edit1.Attach GetDlgItem("Edit1")

Var Shared DirPath As String

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    DirPath = "C:\SH\Create\Directory\Ex\"
    Edit1.SetWindowText DirPath
End Sub

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var Ret As Long

    DirPath = GetDlgItemText("Edit1")

    Ret = Api_SHCreateDirectoryEx(GethWnd, DirPath, ByVal 0)
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End