kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Processクラス

自分用パフォーマンスモニタを作っていて、ProcessクラスにEnableRaisingEvents(http://msdn2.microsoft.com/ja-jp/library/system.diagnostics.process.enableraisingevents(VS.80).aspx)プロパティなんて気の利いたものがあるので、死活監視に使えるかと思って使ってみた。実行してみると…。

ハンドルされていない例外 : System.NotSupportedException: 機能はリモート コンピュータでサポートされていません。
   at System.Diagnostics.Process.EnsureState(State state)
   at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited)
   at System.Diagnostics.Process.GetProcessHandle(Int32 access)
   at System.Diagnostics.Process.OpenProcessHandle()
   at System.Diagnostics.Process.set_EnableRaisingEvents(Boolean value)
(略)

なんて例外が出た…きゅぅ*1。まぁ、Win32 APIだとできないよなぁ…と思っていたので、半分以上予想されていた結末なんだけど。ドキュメントに明示的に書いていないので、将来変わる可能性があるとうれしいかも。
ついでにみつかったSystem.Diasgnostics.ProcessクラスのFAQ。
http://msdn.microsoft.com/netframework/programming/bcl/faq/SystemDiagnosticsProcessFAQ.aspx

*1:もちろんローカルホストのプロセスは問題なし