Stream fs=File.Open("a.ico",FileMode.Create);
ico.Save(fs);
fs.Flush();
fs.Close();

解决方案 »

  1.   

    yarshray(saga jion):
    这个方法也不行啊!!
      

  2.   

    因为Bitmap bmp=new Bitmap("a.ico");打开了文件a.ico,在这之后,又使用Stream fs=File.Open("a.ico",FileMode.Create);这一语句会清空原来a.ico文件的所有内容,所以会出现上面的错误。改成这样就可以了:
    Stream fs=File.Open("a.ico",FileMode.Open);
    fs.Position=0;
    Bitmap bmp=new Bitmap(fs);
    Icon ico=Icon.FromHandle(bmp.GetHicon());
    fs.Close();
    Stream fs1=File.Open("a.ico",FileMode.Create);
    ico.Save(fs1);
    fs1.Close();