/ / WPF UIオートメーション:Windowsサービスから - wpf、ui-automation

WPF UIオートメーション:Windowsサービスから - wpf、ui-automation

UIを使って動作するアプリケーションがあります他のWPFアプリケーションとの自動化API。 同じ機能を使用するWindowsサービスを作成しましたが、サービスがウィンドウhwdを見つけようとすると、NULLを受け取ります。

System.ArgumentException:hwndはIntPtr.Zeroまたはnullにはできません。
System.Windows.Automation.AutomationElement.FromHandle(IntPtr hwnd)で
MyService.Scheduler.GetNotificationWindow(IntPtr hWndtoolBar)

WindowsサービスでUIオートメーションAPIを使用することは可能ですか?

回答:

回答№1は0

Windowsサービスはユーザーのデスクトップにアクセスできません。参照: Windowsサービスとデスクトップアプリケーション間の相互作用

つまり、短い答えは「いいえ」です。

解決策は、サービスに "talk"を送信することです。ソケットを介してデスクトップ上のプロセスとこのプロセスに自動化をさせます。 (それはサービスを取り除き、すべてのロジックをデスクトップアプリに移すことにつながるかもしれません)