static void Main(string[] args)
{
    foreach(string arg in args)
    {
      Image img = Bitmap.FromFile(arg);
      img.Save("c:\\xxxx.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);
    }
}我在注册表里这样建的 c:\app.exe %1 ,这样当在我的电脑中选择一个BMP文件时,是可以的,当选择多个的时候参数就传递不进来了,不知如何改注册表,才能在程序中取得选中的多个文件名

解决方案 »

  1.   

    RegistryKey key1 = Registry.CurrentUser.CreateSubKey("Software\\MyCompany\\MyApp\\Version1.0");
    key1.CreateSubKey("bmp1");
    key1.CreateSubKey("bmp2");
    key1.CreateSubKey("bmp3");
      

  2.   

    这样要用的时候:
    RegistryKey key1 = Registry.CurrentUser.OpenSubKey("Software\\MyCompany\\MyApp\\Version1.0");
     
    string bmp1 = key1.OpenSubKey("bmp1").GetValue().ToString();
    string bmp2 = key1.OpenSubKey("bmp2").GetValue().ToString();
      

  3.   

    是这样的,我在HKEY_CLASSES_ROOT\*下手动新建了 Shell\转换为JPG格式\command项,然后把command项下的默认的值改为c:\app.exe %1,可是这种方法只能传递一个文件名
      

  4.   

    程序里我知道,就是不知道注册表里   c:\app.exe %1   这里该怎么写