Какую версию VS вы используете?
Не уверен, что вы подразумеваете под "зарегистрированным в любом проекте", но вот отправная точка: вы можете получить список всех файлов .h и .cpp, выполнив (рекурсивные) списки каталогов из корневого каталога.Поскольку файлы решения и проекта представляют собой просто файлы .xml (по крайней мере, в более поздних версиях VS), вы можете просто использовать регулярные выражения для извлечения всех ссылочных файлов .h и .cpp, а затем перекрестной ссылки на список, который вы получили, делая каталогсписки с теми, которые вы можете анализировать из файлов проекта.В вашем случае ваша простая структура каталогов делает поиск немного проще.
Если под вторым пунктом вы подразумеваете «включенный из другого источника или заголовка», то, я думаю, вам нужно прочитать все файлы .h и .cpp ивыполните поиск операторов #include, но это сделает программу немного более сложной.