2009-12-10 5 views
6

Estoy escribiendo una aplicación C# y toma los archivos como argumento, lo agregué al menú contextual del shell con el código que se detalla a continuación;Tomar varios archivos (argumentos) del menú contextual del shell de Windows en C#

if (((CheckBox)sender).CheckState == CheckState.Checked) 
      { 
       RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Classes\\*\\shell\\" + KEY_NAME + "\\command"); 

       if (key == null) 
       { 
        key = Registry.CurrentUser.CreateSubKey("Software\\Classes\\*\\shell\\" + KEY_NAME + "\\command"); 
        key.SetValue("", Application.ExecutablePath + " \"%1\""); 
       } 
      } 
      else if (((CheckBox)sender).CheckState == CheckState.Unchecked) 
      { 
       RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Classes\\*\\shell\\" + KEY_NAME); 

       if (key != null) 
       { 
        Registry.CurrentUser.DeleteSubKeyTree("Software\\Classes\\*\\shell\\" + KEY_NAME); 
       } 

Está funcionando bien, pero si selecciono varios archivos, se ejecutarán varias instancias de aplicación. por ejemplo, si selecciono 5 archivos, la aplicación se está abriendo, ¿cómo puedo solucionar esto?

Respuesta

Cuestiones relacionadas