关于VC中运行控制台程序自动加上的“Press any key to continue” - VC/MFC / 进程/线程/DLL解决办法

关于VC中运行控制台程序自动加上的“Press any key to continue” - VC/MFC / 进程/线程/DLL

C/C++ code

int main(int argc, char *argv[])
{
    printf("test\n");
    if (不是在VC中点“!”按钮运行,而且在资源管理器中直接双击exe运行) getch();
    return 0;
}



问题:代码所示的if条件如何实现?

此代码的目的是确保以下两种情况都需要仅一次按键才退出:
1、如果无条件getch(),则在VC中运行时会需要按两次键才能退出;
2、如果无条件不用getch(),则在VC外运行时会不暂停就退出。


------解决方案--------------------
去VC版问吧,那边能有人告诉你怎么检测编译器版本和debug、release状态。
------解决方案--------------------
判断父进程是否为explorer,如果是则调用getch();
------解决方案--------------------
检查父进程,判断是否为vcspawn.exe