コマンドプロンプトから起動したとき、
1) 起動時に/wオプションをつけた場合はウィンドウ表示
2) つけなかった場合は、起動したコマンドプロンプトを対象にcin/coutで入出力
ということをしたいのですが、方法がわかりません。

ウィンドウアプリとして作成し、AllocConsole() APIを使用した場合、
新たにコンソールウィンドウが生成されてしまいます。
また、リダイレクトでの入力(cinでの入力)が使えません。
作成しているプログラムをprog.exeとすると、例えば
C:\> dir | prog.exe /w
↑このようにしたとき、dirの標準出力をprog.exeで読みつつウィンドウ表示もしたい。

C:\> prog.exe
Sample Program v1.0......
...
↑このように/wなしのときは通常のコンソールアプリのように実行してほしい。