|
お久しぶりです。以前フォルダのコピーの仕方のサンプルを作っていただいたWATTです。
それを使って下記のようなプログラムを作って実行したら「コピー中にエラーが発生」になってしまいました。
どこに原因があるのでしょうか…? 教えていただければ幸いです。
かれこれ5日くらい悩んでいます(^^;
#uselib "shell32.dll"
#func SHFileOperation "SHFileOperationA" int
#define FO_MOVE 0x0001
#define FO_COPY 0x0002
#define FO_DELETE 0x0003
#define FO_RENAME 0x0004
#define FOF_MULTIDESTFILES 0x0001
#define FOF_SILENT 0x0004
#define FOF_RENAMEONCOLLISION 0x0008
#define FOF_NOCONFIRMATION 0x0010
#define FOF_WANTMAPPINGHANDLE 0x0020
#define FOF_ALLOWUNDO 0x0040
#define FOF_FILESONLY 0x0080
#define FOF_SIMPLEPROGRESS 0x0100
#define FOF_NOCONFIRMMKDIR 0x0200
#define FOF_NOERRORUI 0x0400
#define FOF_NOCOPYSECURITYATTRIBS 0x0800
#define FOF_NORECURSION 0x1000
#define FOF_NO_CONNECTED_ELEMENTS 0x2000
#define FOF_WANTNUKEWARNING 0x4000
#define FOF_NORECURSEREPARSE 0x8000
dialog ,17
; ファイル名やディレクトリ名はフルパスで記述
file_from ="D:\\○○\\HSP関係\\○○○\\○○○○○○\\○○○○\\editordata\\copy" ; コピー元
file_to =refstr ; コピー先
dim shfo, 8
shfo(0) = hwnd
shfo(1) = FO_COPY
shfo(2) = varptr(file_from)
shfo(3) = varptr(file_to)
; ↓このフラグは必要に応じて調整してください
shfo(4) = FOF_NOCONFIRMMKDIR | FOF_NOCONFIRMATION | FOF_NOERRORUI
SHFileOperation varptr(shfo)
if stat {
dialog "コピー中にエラーが発生"
}
editfolder=refstr
dialog ,17
; ファイル名やディレクトリ名はフルパスで記述
file_from =editfolder ; コピー元
file_to =refstr ; コピー先
dim shfo, 8
shfo(0) = hwnd
shfo(1) = FO_COPY
shfo(2) = varptr(file_from)
shfo(3) = varptr(file_to)
; ↓このフラグは必要に応じて調整してください
shfo(4) = FOF_NOCONFIRMMKDIR | FOF_NOCONFIRMATION | FOF_NOERRORUI
SHFileOperation varptr(shfo)
if stat {
dialog "コピー中にエラーが発生"
}
|
|