私は、GUIアプリケーション(コマンドラインのサポートなし)としてのみ提供されるWindowsアプリケーションを自動化したいと考えています。自動化自体はAutoItで比較的簡単です。Windowsサービス内からGUIをスクリプティングするには?
しかし、私はWindowsアプリケーションを(単にAutoItスクリプトを呼び出す)Windowsサービスから起動することができますか?
私は、GUIアプリケーション(コマンドラインのサポートなし)としてのみ提供されるWindowsアプリケーションを自動化したいと考えています。自動化自体はAutoItで比較的簡単です。Windowsサービス内からGUIをスクリプティングするには?
しかし、私はWindowsアプリケーションを(単にAutoItスクリプトを呼び出す)Windowsサービスから起動することができますか?
たとえAuto-UACで動作しても、Session Isolationの問題にぶつかります。つまり、サービスとデスクトップは、明示的にコード化されていない限り、メッセージを混合して送信しません。
これは可能ですが、ケーキでもありません。あなたはおそらく見てみたい
:すべてではWindowsの最新バージョンでは、セッション0の分離に伴う合併症を知らされていないがLaunching a .Net winforms application interactively from a service
、AutoItのスクリプトは確かにWindowsサービスから呼び出すことができます。 this page for a few sample scripts that work as expected when called from a Windows Serviceをご覧ください。
残念ながら、AutoIt関数のすべてがセッション0で動作するとは限りません。「Win *」ルーチン(WinActivate、WinExists)で問題が発生しました。ドキュメンテーションは問題のある機能を強調していないので、徹底的にテストしてください!