LegacyIAccessible.State ve diğerleri, AutomationElement C# ile OtomasyonuDeğerliğini nasıl edinebilir? Inspect.exe gibi , araçların yaptığı gibi yapar.Eski Windows'da kullanılabilirlik.Otomatik Otomasyon
7
A
cevap
6
LegacyIAccessible
yeni ve .NET 4.0'da olduğu gibi .NET düzeyinde kullanılamaz. Ancak, change set 38718 numaralı telefonun buna destek eklediği daha yeni bir uygulamaya sahip bir project on CodePlex var.
Ne yapmak istediğiniz bir şey gibi:
if ((bool) child.GetCurrentPropertyValue(AutomationElementIdentifiers.IsLegacyIAccessiblePatternAvailableProperty)) {
var pattern = ((LegacyIAccessiblePattern) child.GetCurrentPattern(LegacyIAccessiblePattern.Pattern));
var state = pattern.GetIAccessible().accState;
// Do something with state...
}
Kaynak koddaki yorumlar, bunların Windows 7 için yeni özellikler olduğunu, ancak Windows XP SP3 ...
üzerinde çalıştığını söylüyor.
/AZ
Ancak, .net4 ile çakışmaz mı? Kendi uygulaması vardır. Ben C# 'de acemiyim. Bu projeden yalnızca LegacyIAccessiblePattern.cs kullanabilir miyim veya http://uiautomationverify.codeplex.com/? – AlexGu
Ben uiautomationverify ve pattern.GetIAccessible() null döndürdü denedim :( – AlexGu
ama pattern.Current.State çalışıyor. Teşekkürler! – AlexGu