我想要将程序中用到的BMP图片资源编写成一个纯资源的DLL文件,请问该如何做呢?
由于在程序应用中这些BMP图片可能会被更改或者新增,需要经常变化,所以我想生成个DLL文件,并把如何更新告诉给使用程序的人员,这样可以方便他们进行修改
但是我查资料,好像要生成资源文件需要用reseditor.exe ,VS2008中没找到这个文件呀?
应该怎么做呢?
请帮忙解答。
最好有生成和调用的源码示例,谢谢

解决方案 »

  1.   

    纯资源的DLL文件,是不是还要配置一个资源文件?里面需要有每个图片的编号,调用的时候才方便。
    我看我同事之前用C++做的,需要2个步骤增加BMP
    1、修改BMP或者增加BMP
    2、在资源文件中修改或者新增信息
    3、运行一个批处理。
    4、编译程序,重新生成下DLL
    然后就可以将DLL复制到主程序目录下,就可以用了
    用VS2008 C#如何做呢?请大家帮忙指点下,谢谢
      

  2.   

    http://msdn.microsoft.com/zh-cn/library/24b2tcy0(VS.80).aspx
      

  3.   


    这个里面讲的是VS2005 是用C++吧?
    有没有用C#创建的?
      

  4.   

    •在“项目”菜单上单击“添加现有项”,然后在项目中插入这个新的 .rc 文件。
    这个也添加不进去呀?不支持.rc格式的
      

  5.   

    什么叫“识别不了”?用ResourceManager去加载就是了。
      

  6.   

    C#编写托管的代码,主要是它使用的链接器的问题,这意味着它只能制作包含resx资源的程序。纯资源dll可以使用Delphi、VC++来制作。
      

  7.   

    应该创建一个类库项目,然后制作你的DLL资源
      

  8.   

    顺序如下:
    1.添加一个类库项目;
    2.选择类库项目的 属性=>资源 选项卡,在其中加图片(或其它资源),资源的默认“访问修饰符”是
      "internal",需要改为"public",否则在其它项目访问不了;
    3.在其它项目引用这个类库;
    4.使用[类库命名空间].[Properties].[Resource].[ResourceName]的方式访问即可;请见英文帖:
    http://stackoverflow.com/questions/2771130/read-resources-from-a-dll-file
      

  9.   

    谢谢楼上的解答,我现在依然不会用C#创建纯资源的DLL文件,或者说是创建了却无法调用
    我 的步骤:
    1、新建类库
    2、属性导入BMP图片
    3、直接编译生成DLL
    放到我同事做的程序,代码如下
    ResourceDll=LoadLibrary(ResourceDllPath);    
        if(ResourceDll==NULL)
        {
            Application->MessageBoxA("资源动态链接库丢失","错误",MB_OK);
            Application->Terminate();
        }
    在这里就过不去,一直提示资源动态库丢失。是怎么回事呢?ResourceDllPath是DLL文件的路径
      

  10.   

    我看我同事做的类似的项目,他是用C++BUILDER 6.0制作动态库,需要有1个.rc文件,然后批处理生成一个.res文件,最后用C++BUILDER编译生成DLL文件,就可以使用了
    用C#不需要累死的.rc文件或者.res文件之类的么?
    是不是这里出了什么问题呢?
      

  11.   

    楼主要的是这个玩意吧, System.Resources.ResourceManager.GetStream,直接将图片资源转成Stream读取。
      

  12.   

    直接在项目中 引用 资源dll,没必要调用方法加载dll