检测[console]应用程序在MSVC下运行的简单方法

时间:2011-08-01 17:29:37

标签: c++ winapi visual-c++

这是出于调试目的,我的C ++控制台应用程序在MSVC(2008)下运行时与在MSVC下运行时的行为需要稍微不同。

有没有简单的方法来检测它是否在msvc下运行?

由于

2 个答案:

答案 0 :(得分:4)

在调试器下运行时,IsDebuggerPresent函数返回true。 Here's所有可用调试器相关函数的列表。

答案 1 :(得分:2)

如果使用IsDebuggerPresent api进行调试,您可以轻松找到它。

http://msdn.microsoft.com/en-us/library/ms680345(v=vs.85).aspx

然后你可以做一个查找窗口,看看是否有视觉工作室窗口......

或者正如Ben所说,您可以使用tlhelp32.h函数枚举进程Process32First和Process32Next获取应用程序的父进程(PID)然后使用GetModuleFileNameEx来 检查进程名称等于visual studio可执行文件...