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型)を取得;戻り値:文字列へのポインタGetCommandLineWlpCmdLineW = stat; コマンドライン文字列を解析CommandLineToArgvW lpCmdLineW, varptr(NumArgs)if stat=0 : v_NumArgs = 0 : returnpCmdList = stat;pCmdList : 組み立てられた引数リストへのポインタ;NumArgs : 引数の数を受け取る整数変数へのポインタdupptr p, pCmdList, 4*NumArgs, vartype("int")repeat NumArgsdupptr temp_CmdLineW, p(cnt), 256, vartype("str")v_CmdLinesA(cnt) = cnvwtos(temp_CmdLineW) ;Unicode -> Shift_JISloopLocalFree pCmdListv_NumArgs = NumArgsreturn#global#endif // __CommandLineToArgvW__;; 実行サンプル;#if 10 // 実行サンプルtest argc, argvmes "引数の数 = " + argcrepeat argcmes "" + cnt + " : " + argv(cnt)loop#endif // 実行サンプル