读书人

关于VC中运行控制台程序自动加上的“P

发布时间: 2012-02-28 13:06:34 作者: rapoo

关于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

读书人网 >C++

热点推荐