It might be easier if you check for certain counters that are available through PerfMon and can easily be read and checked by NC_NEt. I am thinking of counters such as Context Switches etc. The only problem with that is that you would have to evaluate that counter over a certain period.
<br><br>What I mean is this, any active program will have context switches happen, some more then others. If a program hangs, and I mean really hangs, the value is likely to stay constant. The problem here is the word constant. You would have to compare it with previous values to see if it is constant and that is not standard nc_net functionality. Alternatively you could maybe also use other counters if context switches does not do the trick, i/o reads and writes maybe, depending on what the application is supposed to be doing. All of these ideas however have the same basic problem, you would need to compare values between individual readings which is not standard functionality. I suppose you could do this with a VBScript. You could then use NC_Net to execute that script and send the value back as a passive check maybe ? 
<br><br>Cheers,<br>Hans<br>