このGet active window text (さらにテキストを送信する) のようなコードを使用して、フォアグラウンド ウィンドウにキーを送信しています。コンソールから実行すると、うまく機能します。サービスから実行すると、GetForegroundWindow() 呼び出しは 0 (ゼロ) を返します。サービスからフォアグラウンド ウィンドウ ハンドルを取得するにはどうすればよいですか?
編集:少し調査したところ、サービスが異なるセッションとして実行されていることがわかりました-それが私の問題に関連している場合、コンソール(物理モニター)セッションのフォアグラウンドウィンドウが存在する場合、そのウィンドウを取得する方法を知る必要があります。
編集 #2: 私のユースケースには XP のみが含まれます。