2011-01-05 23 views
10

Yayınlamadan önce Proje -> Özellikler -> Seçenekler -> Dosya İlişkileri bölümüne gittim ve ".hsp" uzantısını ekledim. Bir simge ve test için bir ProgID ("MyCompany.Document.1") ayarlayın. Yayınladıktan ve yükledikten sonra .hsp dosyam ayarladığım simgeye sahipti, bu nedenle dosya ilişkilendirmesi doğru bir şekilde ayarlanmalı, ancak bu dosyalardan birini çift tıklattığımda ve bu dosyayı çift tıkladığım dosyanın adını bekledim komut satırında. Main işlevime iletilen parametreyi okumayı denedim, Environment.CommandLine'u denedim ve Environment.GetCommandLineArgs()'u denedim, ancak bulduğum tek şey uygulama yoluydu. Bu arada ben sadece test etmek için Main işlevinde ana formumu oluşturmadan önce tüm bu denetimi yapıyorum. args parametresi boş ve diğer ikisi de yalnızca uygulama yolumu içerir.Bir ClickOnce uygulamasından komut satırı nasıl alınır?

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); 

cevap

9

ClickOnce ile yayınlamanız ve sonra aslında burada depolanır o dosyaya çift tıklayarak ilişkili bir dosyayı, yol ile başlatmak:

Bu

benim Main fonksiyonun başlangıcıdır

burada bunun için
AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData[0] 

Bkz MSDN'ın belgeleri:

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

Artı dosya ilişkilendirmeleri ekleme hakkında bir öğretici "Yayın" için projeleri:

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

+0

Çok teşekkür ederim! – pr0gg3r