How to find if ArcMap is  processing

Discussion created by janedavies on Nov 17, 2011

I have an extension written in c# and I'm looking for a way to know if ArcMap is doing any processing.

It would be really nice if there was a method like "IsInProcess" for the IApplication interface but I didn't find any (such a method exists in Autocad API...).

In earlier versions (9.3.x and before), I used to check the activity of the ArcMap.exe process.
Since version 10, which introduced the background geoprocessing, the processing is done at the ArcSOCP.exe and ArcSOMP.exe processes and monitoring all three processes (ArcMap, ArcSOCP, ArcSOMP) doesn't seem a very smart (or reliable) method to know if ArcMap is processing.

I found the IGeoProcessorEvents interface which has "PreToolExecute" and "PostToolExecute" events. But I can use it only for GeoProcessor objects that I create.
I thought that maybe there is a way to register to the events of ALL geoprocesses of the system (not only the ones that I created). This way I would be able to know when any processing starts (and ends). But again - I got to a dead end here.

If any one has an idea, please share.