这是出于调试目的,我的C ++控制台应用程序在MSVC(2008)下运行时与在MSVC下运行时的行为需要稍微不同。
有没有简单的方法来检测它是否在msvc下运行?
由于
答案 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可执行文件...