![]()  | 
			SDK-MFC 備忘録 | 
Windows SDKやMFCに関するメモです。
		(記載内容について正しいことを保証するものではありません。MSDN等で確認してください)
ウィンドウアプリでも、起動引数でオプション動作を規定したいことがあります。
その1)winmain()の引数からとる
 sdkのプログラムの場合はWinMain()の第3引数からコマンドラインがとれます。
	ただ、ここでとれるのは実行ファイル名を含む1行のコマンドラインなので自分で文字列スペース区切りで分割する必要があります。
その2)stdioのグローバル変数からとる
unix互換のため、unixプログラミングでおなじみのargc,argvが用意されています。
	argc->__argc
	argv->__argv
という風に頭にアンダースコアが2個入った名前でアクセスできます。
マルチバイトの環境ならこのまま使用すればいいのですが、UNICODE環境の場合は使いづらいので、次に紹介する方法が便利です。
その3)CommandLineToArgvW()でコマンドラインを取得する
UNICODEの場合はCommandLineToArgvW()でコマンドラインを取得する方法があります。
{//UNICODEでコマンドラインを取得する例
    int i;
    int nArgs;
    LPTSTR *lplpszArgs;
    lplpszArgs = CommandLineToArgvW(GetCommandLine(), &nArgs);
    for (i = 1; i < nArgs; i++) {
        CString s = lplpszArgs[i];//i番目の引数
        if(s == _T("-ABC")){
			
        //ここに-ABCの引数の処理
        }
    }
    LocalFree(lplpszArgs);//処理が終わったら開放しておく
}