【问题标题】:identifying the architecture of an application识别应用程序的架构
【发布时间】:2016-01-21 03:34:00
【问题描述】:

有没有办法确定应用程序正在实施哪种架构?

我正在尝试确定第 3 方应用程序是否正在使用 Win32、WPF 或 Windows 窗体。

感谢您的帮助

【问题讨论】:

  • 您需要这些信息有什么具体原因吗?这是一个很难回答的问题。
  • 我不认为这是一个排他性的选择。应用程序可以使用这些的组合。
  • 使用 WPF 和/或 Windows 窗体的应用程序将总是调用 Win32 API。同样,纯本机 Win32 应用程序可以使用 native hosting facilities 托管 CLR。假设这 3 个平台是互斥的会导致要求某些东西,那是不存在的。除非你解释为什么你认为你需要知道,否则你不能希望得到很多有用的反馈。

标签: c++ wpf windows forms winapi


【解决方案1】:

您可以查看应用程序的 EXE 和 DLL,例如使用 ILSpy。

据我所知,WPF 和 WinForms 仅限于 .NET 框架。所以如果不是.Net EXE,而ILSpy不解析,很有可能是Win32。

如果是 .Net EXE,请查看参考资料。如果仅引用 WPF 特定的 dll,则可能是 WPF。如果只有 WinForms 特定的 dll,可能是 WinForms。如果两者都有,则需要从 main 方法开始跟踪程序以查找证据,使用哪个 API。

但无论哪种方式,都不是强有力的证据。两种 API 可以混合使用,并且可以使用每个 API 的 Windows 或 Elements。由于 WinForms 是原生 Win32 API 的包装器,因此无论何时使用 WinForms,您实际上也使用了 Win32 API。

所以这可能取决于您具体需要了解的内容。

【讨论】:

    猜你喜欢
    • 2019-02-26
    • 2021-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    相关资源
    最近更新 更多