プロファイリング API を使用してその場で IL 命令を書き換えるモック ツールに取り組んでいます。多くの場合、お客様はプロファイリング API を使用する複数の商用製品を所有しており、多くのシナリオでプロファイラーが読み込まれません。
.NET プロファイラーの存在を検出して、カスタマー エクスペリエンスを改善したいと考えています。サード パーティのプロファイラーが見つかった場合に備えて、お客様が環境を適切に構成するのに役立つメッセージを出力したいと思います。
これまでのところ、.NET プロファイラーの存在を検出する信頼できる方法は見つかりませんでした。Windows アプリケーション ログ メッセージを ID 1022 で解析し、プロセス ID で照合しようと考えましたが、かなり不安定なようです。SSCLI の実装を確認したところ、必要なチェックを行う関数IsProfilerPresent()があることがわかりました。使用できる同様のパブリック Microsoft API はありますか?