2011-09-14 9 views
4

C#(または.NET)で外部Windowsアプリケーションを管理する最善の方法は何ですか?C#で外部Windowsアプリケーションを管理するにはどうすればよいですか?

これまでのところ私はSystem.Diagnostics.Processを使用してプロセスを起動することができましたが、これでプロセスを起動/終了することができます。 (私が集めたものから)

System.Diagnostics.Processには、プロセスのウィンドウに要求を送信するCloseMainWindow()ルーチンがあります。このProcessクラスを使用してさまざまなメッセージを送信できますか? 1)起動 2)キル・プロセス:私は、次の方法を外部プログラムを管理し、それを操作できるようにする必要があり

(もしそうなら、誰もが、私はこれらのウィンドウメッセージについて学ぶことができる場所の方向に私を指すことができます) 3)アプリケーション(フルスクリーンとタスクバーに表示) 4)アプリケーション(フルスクリーンとタスクバーにを隠す)

さらなる詳細:.NET 3.5 Frameworkの

答えて

0

そのウィンドウにメッセージを送信してみてください。 SendMessageをご覧ください。必要なメッセージはSW_MINIMIZE,SW_RESTORESW_SHOWMAXIMIZEDです。

0

Win32 P/Invokeを使用して、ウィンドウメッセージを送信して必要な処理を行う必要があります。

ShowWindowまたはSendMessageのコードサンプルを参照すると、外部ウィンドウに表示または非表示を指示します。 FindWindowExでまずウィンドウハンドルを取得する必要があります。あなたは、あなたがプロセスを自分で起動するか、あなたは、プロセスを実行しているクラスやSystem.Diagnostics.Processの方法を使用してのリストにそれを見つけると、あなたはさまざまなオプションをたどることができ、さまざまな方法で必要なすべてを行うことができます

0

...

たとえば、このハンドルを持っていれば、Process.MainWindowHandleを、そのハンドルにメッセージを送信することができます。SendMessagePostMessageです。これにより非常に多くのことができます。またはあなたがSetWindowPosまたはShowWindowまたはSetWindowLongのようなのPInvoke APIを使用することができますし、基本的には本当にすべてのもの...

は、例えば、これを見ていますか:

How to use the ShowWindow API to hide and show a form

私はあなたより多くのリンクを送信することができますが、に好きではないだろうMSDN全体を参照してください;-)

関連する問題