Q:

List ONLY the SQL Server tables that my app uses (the ones in the "Tables" treeview in SSMS)

I am having trouble figuring out how to just get a list of tables that show up in the SSMS treeview under dbname->tables. I don't want the system tables, and I don't want any views, etc. I ONLY want the tables that show up under the tables view in the treeview. I tried this:
Select * from dbname.INFORMATION_SCHEMA.TABLES
 Where dbname.INFORMATION_SCHEMA.TABLES.TABLE_TYPE = 'BASE TABLE'

But that gives me more than just what is in the treeview under Tables. The problem I am trying to solve is that there are over 7000 tables in there and I have a proc to "hide" the ones I never look at, but I need to apply it in bulk to ONLY the list in the Tables list where row-count = 0. Thanks in advance.
Edit: Please don't get too distracted by what I am ultimately trying to do... That is just for context. The main question is "how do I just get the list of tables under the "Tables" treeview for a specific database."

A:

Well, void of any answers that gave me what I needed, I did the following:
In SSMS, I selected the "Tables" node in the treeview for the database in question. Then I hit the "F7" key, which displayed a list of the tables in the "Object Viewer". That list included the tables under the "System Tables" as well (which I didn't want), of which there were only two. The good news is that the Object Viewer allows multi-select, so I just selected all the tables, copied them (CTRL+C) and pasted them into Excel. Then I just deleted the two tables I didn't want from the resulting list in Excel. Not as elegant as an all code/SQL based solution (which is what I was aiming for) but since this is a one-off I can live with it. If I had been okay with getting the "System Tables" as well, then the SQL from my original question seems to be the best answer, although @Lamu 's use of the "IS_MS_SHIPPED = 0" was an interesting angle that anyone reading this should take a look at as well.

