1
偶爾應用程序錯誤會使用Z-Index生成隱藏的UI控件,這意味着它位於其他UI元素之上。該隱藏窗格顯示在屏幕的左上角,並阻止用戶從任何最大化的窗口加載「文件」菜單。如果應用程序關閉,UI元素將消失。如果從UISpy和進程內存轉儲中獲得RuntimeId,如何找到隱藏UI元素的原因?
使用UISpy,我能捕捉到有關元素的以下信息:
AutomationElement
General Accessibility
AccessKey: ""
AcceleratorKey: ""
IsKeyboardFocusable: "True"
LabeledBy: "(null)"
HelpText: ""
State
IsEnabled: "True"
HasKeyboardFocus: "False"
Identification
ClassName: "WindowsForms10.Window.8.app.0.365bd83"
ControlType: "ControlType.Pane"
Culture: "(null)"
AutomationId: ""
LocalizedControlType: "pane"
Name: ""
ProcessId: "10968 (MyApplication)"
RuntimeId: "42 21628486"
IsPassword: "False"
IsControlElement: "True"
IsContentElement: "True"
Visibility
BoundingRectangle: "(0, 0, 132, 38)"
ClickablePoint: "(null)"
IsOffscreen: "False"
ControlPatterns
我也有應用WinDbg打開的內存轉儲。如何使用RuntimeID "42 21628486"
查找引用UI元素的託管對象?或者,也許我可以搜索具有特定寬度的對象?
我希望通過找到管理對象,它會給出一些關於隱藏窗口原因的線索。