これはやや珍しい問題です。私は現在、Officeアプリケーションの自動化に取り組んでいます。基本的には、RDP経由でアプリケーションを実行すると、私のアプリケーションがOfficeアプリケーションと正しく対話できるという問題がありますが、Windowsサービスから起動するようにアプリケーションを設定するとSendInput()を使用してキーストロークを送信できません。 OSはWin03 Stdです。WindowsサービスからのSendInput()は機能しませんが、1を返します - Win03
Windowsサービスからアプリケーションを起動するときに、私はウィンドウキャプションを読み込み、pinvoke経由でinteropなどを自動化することができますが、呼び出しが1を返してもSendInput()メッセージは一見消えます。私はこの時点で対話にエスケープキーストロークを送信しようとしています。
仮想キーとスキャンコードの両方のキーストロークを送信しようとしました。
アイデアやヒントはありますか?前もって感謝します!
(ところで:私は、自動化のこの種は、MSFTによって認可/サポートされていないことを実現します。)
EDIT: を他の誰がこの作品、この問題を持っている念のために:
[DllImport("user32")]
public static extern bool PostMessage(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam);
bool returnVal = NativeWin32.PostMessage(popup, 0x0100, new IntPtr(0x1b), IntPtr.Zero);
ありがとうございました。何らかの理由でフォーカスを受け取るウィンドウがないという事実を完全に吹き飛ばした。 *私は今PostMessageでテストしています。 – cursedfrogurt
ありがとうございました。それが問題を解決しました! – cursedfrogurt