Aracılığıyla paylaş


UI Otomasyonu İş Parçacığı Sorunları

Uyarı

Bu belgeler, System.Windows.Automation ad alanında tanımlanan yönetilen UI Otomasyonu sınıflarını kullanmak isteyen .NET Framework geliştiricilerine yöneliktir. UI Otomasyonu hakkında en son bilgiler için bkz. Windows Otomasyonu API'si: UI Otomasyonu.

Microsoft UI Otomasyonu'nun Windows iletilerini kullanma şekli nedeniyle, bir istemci uygulaması kullanıcı arabirimi iş parçacığında kendi kullanıcı arabirimiyle etkileşim kurmaya çalıştığında çakışmalar oluşabilir. Bu çakışmalar performansın çok yavaş olmasına ve hatta uygulamanın yanıt vermeyi durdurmasına neden olabilir.

İstemci uygulamanızın kendi kullanıcı arabirimi de dahil olmak üzere masaüstündeki tüm öğelerle etkileşim kurması amaçlanıyorsa, tüm UI Otomasyonu çağrılarını ayrı bir iş parçacığında yapmanız gerekir. Buna öğeleri bulma (örneğin, TreeWalker veya FindAll yöntemini kullanarak) ve denetim desenlerini kullanma dahildir.

Olay işleyicisi her zaman UI olmayan bir iş parçacığında çağrıldığından UI Otomasyonu olay işleyicisi içinde UI Otomasyonu çağrıları yapmak güvenlidir. Ancak, istemci uygulamanızın kullanıcı arabiriminden kaynaklanabilecek olaylara abone olurken, AddAutomationEventHandler öğesine veya ilgili bir yönteme kullanıcı arabirimi olmayan bir iş parçacığında çağrı yapmanız gerekir. Aynı iş parçacığındaki olay işleyicilerini kaldırın.