простой способ обнаружить, что [консольное] приложение работает под MSVC - PullRequest
0 голосов
/ 01 августа 2011

Это для целей отладки, мое консольное приложение C ++ должно вести себя немного иначе, когда оно работает под MSVC (2008), и когда оно запускается не под MSVC.

Есть ли простой способ обнаружить, что он работает под msvc?

Спасибо

Ответы [ 2 ]

4 голосов
/ 01 августа 2011

Функция IsDebuggerPresent возвращает true при работе под отладчиком. Вот список всех доступных функций, связанных с отладчиком.

2 голосов
/ 01 августа 2011

Вы можете легко узнать, отлаживается ли он, используя IsDebuggerPresent api.

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

Тогда вы можете сделать окно поиска, чтобы увидеть, присутствует ли окно визуальной студии ...

Или, как сказал Бен, вы могли бы перечислить процессы, используя функции tlhelp32.h Process32First и Process32Next, чтобы получить родительский процесс вашего приложения (PID), а затем использовать GetModuleFileNameEx для проверки имени процесса, равного исполняемому файлу visual studio ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...