2011-01-05 16 views
10

公開する前に、Project - > Properties - > Options - > File Associationsに行き、拡張子 ".hsp"を追加しました。アイコンとProgID(テスト用の "MyCompany.Document.1")を設定します。私が公開してインストールした後、私の設定した.hspファイルにアイコンが設定されていたので、ファイルの関連付けを適切に設定する必要がありましたが、これらのファイルをダブルクリックするとアプリケーションが実行され、コマンドラインで入力します。 Environment.CommandLineを試して、Environment.GetCommandLineArgs()を試しましたが、私が見つけたのはアプリケーションのパスだけでした。ちなみに私はMain関数でメインフォームを作成する前に、このチェックをすべてやっています。テストするだけです。 argsのパラメータは空で、他の2つは私のアプリのパスのみを含んでいます。ClickOnceアプリケーションからコマンドラインを取得する方法は?

これは私のMain関数の先頭である:

static void Main(string[] args) 
    { 
     try 
     { 
      Application.EnableVisualStyles(); 
      Application.SetCompatibleTextRenderingDefault(false); 
      Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException); 
      MessageBox.Show("CommandLine -> " + Environment.CommandLine); 
      foreach (string str in args) MessageBox.Show("args -> " + str); 
      foreach (string str in Environment.GetCommandLineArgs()) MessageBox.Show("GetCommandLineArgs -> " + str); 

答えて

9

あなたはClickOnceのでアプリを公開して、関連するファイルをダブルクリックして起動すると、そのファイルへのパスは、実際にここに格納されます:

AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData[0] 

ここでそれのためのMSDNのドキュメントを参照してください:

http://msdn.microsoft.com/en-us/library/system.runtime.hosting.activationarguments.aspx

プラスプロジェクト「公開」するファイルの関連付けを追加するチュートリアル:

http://blogs.msdn.com/b/mwade/archive/2008/01/30/how-to-add-file-associations-to-a-clickonce-application.aspx

+0

をありがとうございました! – pr0gg3r

関連する問題