dir_cmdlineはそのままだと使いにくいので作ってみた。なんて命令にしようかな。
dir_cmdlineはそのままだと使いにくいので作ってみた。なんて命令にしようかな。
; ; コマンドライン文字列を解析して取得するモジュール ; ;参考 : http://www.hsp.tv/play/pforum.php?mode=pastwch&num=47162 ; ; #include "kernel32.as" #include "shell32.as" #ifndef __CommandLineToArgvW__ #define global __CommandLineToArgvW__ #module #deffunc test var v_NumArgs, array v_CmdLinesA ; コマンドライン文字列(Unicode型)を取得 ;戻り値:文字列へのポインタ GetCommandLineW lpCmdLineW = stat ; コマンドライン文字列を解析 CommandLineToArgvW lpCmdLineW, varptr(NumArgs) if stat=0 : v_NumArgs = 0 : return pCmdList = stat ;pCmdList : 組み立てられた引数リストへのポインタ ;NumArgs : 引数の数を受け取る整数変数へのポインタ dupptr p, pCmdList, 4*NumArgs, vartype("int") repeat NumArgs dupptr temp_CmdLineW, p(cnt), 256, vartype("str") v_CmdLinesA(cnt) = cnvwtos(temp_CmdLineW) ;Unicode -> Shift_JIS loop LocalFree pCmdList v_NumArgs = NumArgs return #global #endif // __CommandLineToArgvW__ ; ; 実行サンプル ; #if 10 // 実行サンプル test argc, argv mes "引数の数 = " + argc repeat argc mes "" + cnt + " : " + argv(cnt) loop #endif // 実行サンプル