1

I have been working on White Framework to automate the User Interface for one of my application build using WinForms. The application also uses a Third Party Control i.e. FPSpread7 for WinForms by ComponentOne Studio. Although the tools UISpy and Inspect.exe, show the spread as part of the automation tree, however, the rows and the columns within the spread are not visible in these tools.

I posted the query to the "ComponentOne Studio" team, and they said, that the UI automation provider is not implemented for their control and is in development pipeline. So, is there any other way that I could automate this specific control? Or is it possible to create a proxy provider for it or for any third party control for that matter, using which I can automate the control?

Note: Link to the ComponentOne website : http://www.componentone.com/

Siddhant
  • 571
  • 1
  • 8
  • 32
  • 1
    In the general case, you can't. For example, suppose I write a super-secure control that displays protected information (banking, military, etc.), I don't want anyone to be able to automate anything form it. For specific cases, it may be possible using various hacks and trics, but if you see nothing in UISpy nor Inspects, odds are it's probably not possible. – Simon Mourier Mar 15 '16 at 08:31
  • So, apart from UIAutomation Framework provided as part of .Net, which is consumed by White Framework as well, is there any other tool/framework which I can look at, that might help in such a scenario? – Siddhant Mar 15 '16 at 08:48
  • Or there is nothing that I can do, except to wait for the development team of WinSpread to provide the required support for it.? – Siddhant Mar 15 '16 at 08:52
  • UI Automation is much lower than .NET, it's provided by Windows itself. I don't think there's much to do at this stage if WinSpread doesn't provide anything. For example, let's suppose what WinSpread does is only drawing unstructured bitmaps on the screen, the only solution would be to write something that recognizes these bitmaps. This is the kind of limitation that one should take in account when choosing 3rd parties IMHO. – Simon Mourier Mar 15 '16 at 08:56
  • Thanks for the information. i'll check if I can work something out with bitmaps. – Siddhant Mar 15 '16 at 09:18

1 Answers1

0

Actually, Spread is a very complex control and supporting UI automation in such complex controls requires a special custom property provider DLL.

You can try implementing a custom extension to provide custom property classes for controls. Please check following MSDN article for more information: https://msdn.microsoft.com/en-us/library/hh552522.aspx

bummi
  • 27,123
  • 14
  • 62
  • 101
Shubham
  • 15
  • 5