More ... | ファイルのドラッグ・アンド・ドロップHSPウィンドウにドラッグ・アンド・ドロップされたファイルを取得します。
HSP3.0で動作確認。 スクリプト; <<<< HSP 3.0 サンプル >>>> ; ; ウィンドウにドロップされたファイルの名前を取得する ; #uselib "shell32.dll" #func DragAcceptFiles "DragAcceptFiles" int,int #func DragQueryFile "DragQueryFileA" int,int,int,int #func DragQueryPoint "DragQueryPoint" int,int #func DragFinish "DragFinish" int #define WM_DROPFILES 0x0233 ; WM_DROPFILES メッセージハンドラを設定 oncmd gosub *OnDropFiles, WM_DROPFILES ; ファイルをドラッグ&ドロップできるように設定 DragAcceptFiles hwnd, 1 title "ウィンドウにファイルをドロップしてください" stop *OnDropFiles ; --- ファイルがドロップされたとき --- ; ドロップされたファイルの数を取得する hdrop = wParam ; ドロップファイル情報のハンドル DragQueryFile hdrop, -1, 0, 0 ndrop = stat ; ファイルの数 ; 画面をクリア syscolor 5 : boxf syscolor 8 : pos 0,0 ; ファイル名を取得して表示 sdim filename, 260 repeat ndrop DragQueryFile hdrop, cnt, varptr(filename), 260 mes filename loop ; ドロップファイル情報をクリア (これをしないとメモリリークになる) DragFinish hdrop return 解説 |