コードは id:eel3:20090207:1233932887 で既出だけど、一応分けて書いておく。 問題編 普通にC言語のアプリ(Visual C++で言うところのWin32コンソールアプリ)を書く場合、コマンドライン引数は個別にargvに格納される。 Win32アプリでアプリケーションエントリーポイントがWinMain()の場合、コマンドライン引数はlpCmdLineに格納されるのだけど、 実行ファイル名が含まれていない。 オプション毎にパースされていない。 という、何というか不便なことになっている。 例えば $ hoge.exe foo "bar bar" bazと実行した場合、lpCmdLineの中身は「foo "bar bar" baz」と、スペース等を含む1つの文字列になっている。 実行ファイル名についてはGetCommandLine()というAPIを使えば取得できる。 LP