印刷ダイアログにアクセスして、Winforms からプログラムで閉じることはできますか? この印刷ダイアログは、Web ブラウザ、メモ帳、ペイントなどの別のプログラムによって開かれます。
たとえば、ユーザーが Internet Explorer を使用していて、任意の Web サイトで ctrl+p を押すと、印刷ダイアログが開きます。私のコンソール/winformアプリケーションはそれを見つけて、OKを押すか、自動的にキャンセルします。
印刷ダイアログにアクセスして、Winforms からプログラムで閉じることはできますか? この印刷ダイアログは、Web ブラウザ、メモ帳、ペイントなどの別のプログラムによって開かれます。
たとえば、ユーザーが Internet Explorer を使用していて、任意の Web サイトで ctrl+p を押すと、印刷ダイアログが開きます。私のコンソール/winformアプリケーションはそれを見つけて、OKを押すか、自動的にキャンセルします。
単純なアクションのみを実行する場合は、AutoHotkey などのプログラムがこの状況に最適です。このような小さなタスクを支援するように設計されています。表示されているウィンドウに基づいて、さまざまなアクションを実行できます。キーストロークを実行できます。この場合は、Enter、Escape、または Alt-K です。アプリケーションとの統合をさらに進めたい場合、これは適切な解決策ではない可能性があります。しかし、自動化を増やしたいだけなら、それ (または同様のソリューション) は完璧だと思います。
それが可能だ。ただし、アンマネージ コードを使用する必要があるため、Windows API を使用することをお勧めします。関数を使用してウィンドウハンドルを見つけることができ、FindWindow
対応するメッセージをそのウィンドウに投稿できます。または、そのボタンの座標を取得して、このウィンドウをアクティブにしてから押すこともできます。