2009-12-10 73 views
6

我正在编写一个C#应用程序,它将文件作为参数,我将它添加到带有下面列出的代码的shell上下文菜单中;从C#上的Windows shell上下文菜单中取出多个文件(参数)

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

它运行良好,但如果我选择多个文件,应用程序运行的多个实例。 例如,如果我选择5个文件5应用程序正在打开,我该如何解决这个问题?

回答