2009-08-13 16 views
1

私は、ユーザーがさまざまなファイルタイプをアプリケーションに関連付けることを可能にするMDI Windowsフォームアプリケーション(.net 2008)を持っています。 (私はDDEを使用し、アプリケーションのpre-.netバージョンでファイルアソシエーションのためのddeの最適な.net代替手段は何ですか?

Registry.SetValue(appKey & "\shell\open\command", "", """" & _ 
    System.Windows.Forms.Application.ExecutablePath & """ ""%1""") 

:私は現在、アプリケーションがコマンドライン経由でファイル名をロードおよびアクセスになり、このようなレジストリエントリ何か、でこれを行いますレジストリのddeexec)。 Windowsエクスプローラでファイルをダブルクリックしたときにアプリケーションのインスタンスが実行されていた場合、アプリケーションの新しいインスタンスを起動せずにファイルが開かれます。

DDEがMicrosoftによって推奨されなくなったので、実行中のMDIアプリケーションがエクスプローラでファイルをダブルクリックしたときに、そのファイルの新しいインスタンスを開始するのではなく、応用?

答えて

1

理想的には、通常のファイル関連付け手法(doc)と、プロセス間通信の何らかの形で、プログラムが後続の起動をどのように処理するかを構成することができます。

たとえば、プログラムが起動するときに、別のインスタンスが既に開いているかどうかを確認します。その場合は、既存のインスタンスにパラメータデータを渡して終了します。既存のインスタンスは、データを適切に処理します。

ここで(link)はあなたがそれを始めるには良い答えです。

関連する問題