セキュリティ上の理由でこれが可能かどうかはわかりませんが、そうかもしれません。
私たちのアプリケーションの 1 つで問題を発見しました。それを修正する方法は、インプロセス モジュールでパブリック メソッドを呼び出すことです。
そのため、私のアプリケーション (これは変更できません) は、「SSOSettingsFileReader.dll」と呼ばれる参照 dll を使用しています。SSOSettingsFileReader.dll は、「ClearCache」という名前のパブリック メソッドです。すべてのプロセスを循環し、SSOSettingsFileReader という名前の各プロセスでモジュールを検索し、それぞれで「ClearCache」を呼び出すコンソール アプリを作成したいと考えています。
これは可能ですか?
これまでのところ、モジュールを取得できます。
Process[] processes = Process.GetProcesses();
foreach (Process p in processes) {
if (p.ProcessName == "BTSNTSvc") {
ProcessModuleCollection modules = p.Modules;
foreach (ProcessModule m in modules) {
if (m.ModuleName == "SSOSettingsFileReader.dll") {
// What to do here?
// SSOSettingsFileReader sso = SomeWayToConvertModule(m)ToSSOSettingsFileReader();
// sso.ClearCache();
}
}
}
}
ありがとう
ps私は.Net2.0でVS2005を使用していますが、それに限定されません