- Home /
Use System.Windows.Automation in Unity
Hello, the Unity community! I am developing an application that requires the detection of any focus changes such as a textbox that is clicked or an input field that is focused on the Windows system. I searched for the solution and found System.Windows.Automation might be the answer. To put it simply, my application needs to know any focus changes.
To use System.Windows.Automation, I copy the .DLL files (UIAutomationClient.dll, UIAutomationClientsideProviders.dll, UIAutomationProvider.dll, UIAutomationTypes.dll) from the path "C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0" into the Asset folder.
However, whenever I subscribe to the event using Automation.AddAutomationFocusChangedEventHandler() in my code and hit play. the editor just shuts down without throwing any error or crash message. I tried to make a build and get the same result, and I didn't find anything in the Player.log.
Have anyone tried using System.Windows.Automation in Unity successfully? If this namespace is not working on Unity, is there any way that I can achieve the same thing (to subscribe to some events so that my application knows there is a focus change)? Thanks a lot and have a good day.
private void Start()
{
var focusHandler = new AutomationFocusChangedEventHandler(OnFocusChange);
Automation.AddAutomationFocusChangedEventHandler(focusHandler);
}
private void OnFocusChange(object src, AutomationFocusChangedEventArgs e)
{
throw new System.NotImplementedException();
}
Answer by hsuchc8888 · Mar 02, 2020 at 09:49 AM
I tested this on another machine and the Unity crashes. Here are the screenshots I got:
I still don't know why this would happen. Is Unity not working with System.Windows.Automation?
Your answer
Follow this Question
Related Questions
error CS1061 and error CS0117 scripting InputField 1 Answer
Add a new script line to my script with text from textboxes after button in the Inspector is pressed 0 Answers
Get Text from an Input Field on one scene and use it as a text on another scene Unity c# 0 Answers
UnityIAP? Assembly [...] will not be loaded due to errors: 0 Answers