我正在构建一个(Web / WinForms应用程序,我还没有决定),我有一个运行简单的WinForms应用程序,我无法通过我的新应用程序访问任何方式,我只是想读取一些值和也许编辑一些值(标签,按钮,一些琐碎的东西)。所以我在this question中建议使用Spy ++。
所以,我能够通过这个伟大的工具看到我需要阅读/编辑的值。我能够编辑一些值(如某些标签和按钮上的隐藏,取消选中,禁用等),它们会反映在应用程序上。
所以我想进入下一步,我被告知我有两种选择。无论是Win32还是UI自动化。我对它们都没有任何线索,所以一点指导就会很棒。
关于这个问题我还有3个问题:
最好用WinForms以及为什么?
并且可以通过WebApplication使用这两个选项中的任何一个,还是需要在WinForms应用程序中实现这两个选项?
这些选项中的任何一个都有编辑值的限制吗?
答案 0 :(得分:0)
(如果你还在搜索..)
这取决于你熟悉的东西。另外,一般来说,我认为,UI自动化稍微容易一些,因为对于Wind32SDK,你需要使用很多pinvoke和类似的东西,这可能对纯粹的.net人来说不容易。
对于Win32,http://www.pinvoke.net/default.aspx/确实是最好的开始,为您提供所有签名和一些示例代码。
对于UI自动化,还有许多地方可以从大量样本开始。其中一个是http://blogs.msdn.com/b/winuiautomation/。
另请注意,它们的功率和可用性无法比较。如上所述,UI Automation更自然,Win32还允许您访问通过自动化无法访问的许多值。我认为UI Automation主要是只读的。
启用/禁用外部应用程序中的按钮很有趣。当发现它经常有效时,我想在一些受保护的商业产品上使用它(只是禁用了“专业”按钮),只是为了检查是否有额外的保护措施。:)如果你想要的意思也是如此要在您的应用中使用此类功能,请确保用户始终可以隐藏元素或启用已禁用的元素。