MFCでコマンドライン引数を解析する方法と言えば、
CWinApp::ParseCommandLine
を使うやり方が一般的・・・と言いますか、SDIやMDIプロジェクトだったら、最初からこれが使われているため、ここを拡張して独自の起動引数なんかを解析するのが普通かと思います。
長年その方法でやっていたのですが、最近になって __argc や __targv (頭にアンダースコア2個) を使えば、解析済みの引数が参照出来る事を知りました。
ParseCommandLineを使うとわざわざCCommandLineInfoの派生クラスを作る必要があったりして面倒くさいのですが、__argcと__targvならば簡単に参照できるので、場合によってはこちらを使った方が手軽そうです。
データ構造として、起動引数を1クラスに管理させたい、とか思い始めるとParseCommandLineの方が良いのかなとも思ったりして、悩みどころではあります。