CMD.EXEから起動したときにはそのアプリケーションをコマンドラインアプリケーションとして、それ以外の例えばExplorerなどから起動した場合にはGUIアプリケーションとして動作するようなものを組みたいと思っていろいろ調べたのですが、あまりうまい方法がなく、その場しのぎ的な方法であきらめよう…というメモです。 まず、起動元が CMD.EXE なのかそれ以外なのかの判断には、TH32CS_SNAPPROCESS を指定して CreateToolhelp32Snapshot を呼び出し、PROCESSENTRY32.szExeFile を見て自分の親プロセスが "cmd.exe" かどうかを確認することで判断できます。 つぎに、エントリポイントですが、Visual C++ などのコンパイラを使ってWin32アプリケーションを生成した場合、エントリポイントが _tmain のときはコンソール