GetCommandLineは、コマンドライン引数文字列を取得するWindowsAPI・・・。
_tWinMain関数のlpCmdLineにもコマンドライン引数文字列は格納されているが、実行ファイル名が含まれていない・・・。
実行ファイル名を含めたコマンドライン引数文字列はGetCommandLineで取得する・・・。
TCHAR型のグローバル文字配列を2つ用意しておく・・・。
tszArgCmdLineがlpCmdLineで取得したほうの文字列・・・。
tszApiCmdLineがGetCommandLineで取得したほうの文字列・・・。
_tWinMainの最初の変数宣言の後すぐに、_tcscpyでlpCmdLineをtszArgCmdLineに、GetCommandLine()の戻り値をtszApiCmdLineにコピー・・・。
あとは、WM_PAINT時にTextOutでそれぞれ描画・・・。
プロパティから、
[デバッグ]-[コマンド引数]で、適当に引数を付けて実行するようにしてみる・・・。
lpCmdLineは実行ファイル名が付かないのに対し、GetCommandLine()は実行ファイル名が付いている・・・。
(しかもダブルクォート("")付きでフルパス・・・。)
コマンドプロンプトでもやってみる・・・。
exeのあるフォルダまで移動して、
こんな感じ・・・。
すると、
こちらでもGetCommandLine()だと実行ファイル名が付いている・・・。
(ただし、こちらではダブルクォート("")はなく、フルパスでもない実行ファイル名のみ・・・。実行ファイル名だけを指定して実行してるからねえ・・・。)