ありがとうございます。何とかできました。
ファイルサイズを追加してみましたが、プログラム的にこれで良いのでしょうか
複数の拡張子を指定するとなると、なんだか見づらいというか、お粗末というか…
簡素化する方法はありますか?モジュール化すれば良さそうという気がしますが、良くわかりません。
出来ればサンプルお願いします。
#include "hspext.as"
#uselib "shell32.dll"
#func DragAcceptFiles "DragAcceptFiles" int,int
#func DragQueryFile "DragQueryFileA" int,int,int,int
#func DragFinish "DragFinish" int
#define WM_DROPFILES 0x0233
title "このウィンドウにファイルをドロップして下さい。"
oncmd gosub *OnDropFiles,WM_DROPFILES
DragAcceptFiles hwnd,1
if stat == 0 {
dialog "設定に失敗しました。",1,"エラー"
end
}
stop
*OnDropFiles
hDrop = wparam
DragQueryFile hDrop,-1,0,0
sdim filename,260
repeat stat
DragQueryFile hDrop,cnt,varptr(filename),260
exist filename
if strsize=-1 {
mes filename
chdir filename
dirlist2h 5,
dirlist2 d_size,"*.bmp",1
sdim d_file1,d_size+1
dirlist2r d_file1
dirlist2 d_size,"*.jpg",1
sdim d_file2,d_size+1
dirlist2r d_file2
pos 20
mes d_file1+d_file2
pos 0
}else{
mes filename+","+strsize
}
loop
DragFinish hDrop
chdir dir_exe
return 0