0

セキュリティ上の理由でこれが可能かどうかはわかりませんが、そうかもしれません。

私たちのアプリケーションの 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を使用していますが、それに限定されません

4

1 に答える 1