You have some project GUIDs defined in VSLangProj.dll assembly, PrjKind
class. Others in VSLangProj2.dll assembly, PrjKind2 class. And you will have
to define others by hand.
About the Windows/Web distinction, you have to use
Project.Properties("Type") (IIRC) and compare to VSLangProj.prjProjectType
(Local/Web values).
Finally, you can distinguish a Web Site ASP.NET 2.0 because Project.Object
returns a VSWebSite object (VSWebSite.Interop assembly).
See also my article:
HOWTO: Get the language of a project or file from a Visual Studio .NET macro
or add-in
http://www.mztools.com/resources_vsnet_addins.htm

Signature
Best regards,
Carlos J. Quintero
MZ-Tools: Productivity add-ins for Visual Studio
You can code, design and document much faster:
http://www.mztools.com
> Hi,
>
[quoted text clipped - 10 lines]
>
> David