Every project in the solution has a project automation interface. In rare cases, this is a generic, unmodeled project implementation that returns the project's name.
Every tool in the environment that has a project has a Project object.
Reference this object by using DTE.Solution.Item or by using a specific language's objects, such as DTE.VBProjects.Item, or DTE.VCProjects.Item.