|
InitFocusChangedEH() |
private void InitFocusChangedEH() { ThreadStart threadDelegate = new ThreadStart(StartListening); UIAutoThread = new Thread(threadDelegate); UIAutoThread.Start(); } |
포커스가 변경되었을 때 Thread의 진입점이다. |
StartListening() |
public void StartListening() { focusHandler = new Automati[안내]태그제한으로등록되지않습니다-xxonFocusChangedEventHandler([안내]태그제한으로등록되지않습니다-xxOnFocusChanged); Automation.AddAutomati[안내]태그제한으로등록되지않습니다-xxonFocusChangedEventHandler(focusHandler); } |
UI 자동화 이벤트를 처리하는 메서드를 등록합니다. |
[안내]태그제한으로등록되지않습니다-xxOnFocusChanged() |
private void [안내]태그제한으로등록되지않습니다-xxOnFocusChanged(object ob, Automati[안내]태그제한으로등록되지않습니다-xxonFocusChangedEventArgs e) { try { AutomationElement autoele = (AutomationElement)ob; if (autoele == null) { return; } if (autoele.Current.ProcessId != Process.GetCurrentProcess().Id) { ChageFocusUIDeleHandler(autoele); } } catch { } } |
포커스가 변경되었을 때 이벤트를 발생합니다. |
ShowLight(int width, int height,Rect rect) |
public void ShowLight(int width, int height,Rect rect) { ChangeForm(left, Width, height + 5, (int)rect.Left - 3, (int)rect.Top - 3); ChangeForm(top, width + 5, Height, (int)rect.Left - 3, (int)rect.Top - 3); ChangeForm(right, Width, height + 3, (int)rect.Right, (int)rect.Top - 1); ChangeForm(bottom, width + 3, Height, (int)rect.Left - 1, (int)rect.Bottom); } |
포커스가 변경되었을 때 선택부분을 네모로 표시하기 위한 함수 |
ChangeForm(Form form, int width, int height, int x, int y) |
private void ChangeForm(Form form, int width, int height, int x, int y) { form.ClientSize = new System.Drawing.Size(width, height); form.Location = new System.Drawing.Point(x, y); form.TopMost = true; form.BackColor = color; } |
실제 네모로 표시하기 위해 변경 시키는 부분이다. |