The Running Object Table (ROT) is a way for applications on different threads to communicate with each other- applications can register objects in the table, to be accessed by moniker from other threads and applications. It's a technique in decline (personally I'd use a WCF application or something like that now), but dealing with other implementations and legacy applications, I have to deal with it every now and again. This time when I had to deal with it, I realized that the SDK package from MS had done away with the ROT viewer. And the only one that I could find was an old one that I'd downloaded years ago, written in Delphi. I'm not even sure that I could find it again!
But accessing the ROT, while sort of arcane, isn't very hard. So I made my own ROT viewer tool. I'm also planning to put more in it possibly, as I need it or as requested. Right now, its basic- I'll refine it for the release, but if you click the refresh button, it should display all objects accessible in the ROT. The other function is a bit less polished- if you enter something in the textbox at the top, and press the 'i' button, it will try to access that object in the ROT and display the information retrieved. It will display it in red if there is a problem accessing the object, as there sometimes is. Right now the only requisites for error are (a) not found by moniker (b) the moniker passed in could not be parsed, or (c) the interface on the IUnknown retrieved cannot be queried.
Features
Implemented
Shows objects in the ROT
Allows the user to query by moniker, and shows in red if the object could not be fully queried
Planned
Allow the user to specify whether the window should always be on top or not
Specify an opacity of the window
...?
Screenshots
Installation
With .NET 4.0 installed, unzip application to location and run.
Notes
Requires .NET 4.0. This is a development tool for a dying technology, so there might not be anything registered in your ROT, and that's OK. Just wanted to have an accessible tool for those of us who need it.