0

我正在构建一个(我还没有决定的 Web/WinForms 应用程序)并且我有一个正在运行的简单 WinForms 应用程序,我无法通过我的新应用程序访问它,我只想读取一些值并可能编辑一些值(标签、按钮、一些琐碎的东西)。所以我按照这个问题的建议使用了 Spy++ 。

因此,我能够通过这个出色的工具查看需要读取/编辑的值。我能够编辑一些值(如隐藏、取消选中、禁用某些标签和按钮上的等),它们反映在应用程序上。

所以我想进入下一步,我被告知我有两个选择。无论是 Win32 还是 UI 自动化。我对他们俩都一无所知,所以一点指导会很棒。

关于这个问题,我还有 3 个问题:

  1. 哪个更适合用于 WinForms,为什么?

  2. 是否可以通过 WebApplication 使用这两个选项中的任何一个,或者两个选项都需要在 WinForms Application 中实现?

  3. 这些选项中的任何一个在编辑值方面是否有限制?

4

1 回答 1

0

(如果你还在寻找..)

这取决于你对什么更熟悉。另外,一般来说,我认为 UI 自动化稍微容易一些,因为对于 Wind32SDK,您需要使用大量的 pinvoke 和类似的东西,这对于纯 .net 的人来说可能不容易。

对于 Win32,http ://www.pinvoke.net/default.aspx/ 确实是最好的起点,它为您提供所有签名和一些示例代码。

对于 UI 自动化,还有很多地方可以从大量示例开始。其中之一是http://blogs.msdn.com/b/winuiautomation/

另请注意,它们在功率和可用性方面没有可比性。如前所述,UI 自动化更自然,Win32 还允许您访问许多您无法通过自动化实现的值。我认为 UI 自动化主要是只读的。

在外部应用程序中启用/禁用按钮很有趣。当发现它经常起作用时,我想在一些受保护的商业产品上使用它(只是禁用“专业”按钮“)只是为了检查是否有额外的保护。:) 意思是如果你想要要在您的应用程序中拥有这样的功能,请知道用户始终可以使隐藏的元素可见或启用禁用的元素。

于 2012-06-28T15:18:19.927 回答