日期:2014-05-17  浏览次数:20756 次

应用程序如何使用图片呢?
我的问题是这样的:

有如下代码:有一句是复制一个.ico文件到C:\windows目录下边。这个.ico文件在我编译程序时在我的程序Debug目录下边,编译好的程序可以正常运行。但是当我把程序移植到别的电脑上就提示无法找到图片路径。我现在想知道如何将这个.ico文件加到程序里面一遍在别的电脑上也可以正常运行。

C# code

        private void btnSetSmallArrow_Click(object sender, EventArgs e)
        {
            RegistryKey rKey = Registry.LocalMachine;
            RegistryKey rSetSmallArrow = rKey.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer", true);
            rSetSmallArrow.CreateSubKey("Shell Icons");
            rSetSmallArrow = rKey.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons", true);
            File.Copy("Arrow.ico", "C:\\Windows\\Arrow.ico",true);//在移植到别的电脑上报错,如何将图片嵌入程序中呢?
            rSetSmallArrow.SetValue("29", "C:\\Windows\\Arrow.ico,0", RegistryValueKind.String);
            rSetSmallArrow.Close();
            rKey.Close();
            Process[] myPr;
            myPr = Process.GetProcessesByName("explorer");
            foreach (Process mypr in myPr)
            {
                mypr.Kill();
            }
            MessageBox.Show("修改成功!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }




------解决方案--------------------
探讨

图片不可能嵌入到程序中的
图片是独立的资源

------解决方案--------------------
这里 有个教程

http://hi.baidu.com/44498/blog/item/fb564e7783c25a12b151b9d3.html

基本就是 

using System;

namespace Dll
{
public class Class1
{
public void mydll()
{
this.GetType().Assembly.GetManifestResourceStream("Dll.image.test.jpg");
}

public System.IO.Stream ReturnStream()
{
return 
this.GetType().Assembly.GetManifestResourceStream
("Dll.image.test.jpg");
}
}
}