嵌入光标资源,然后查MSDN嵌入资源的使用

解决方案 »

  1.   

    “嵌入光标资源,然后查MSDN嵌入资源的使用”?
    你的意思是把光标资源作为资源文件,然后再通过资源文件来用光标?
    这样的话,似乎也不行啊。。
    因为在msdn里有这么一句话:
    “在成功编译成执行文件后,在执行此文件的时候,必须保证在此执行文件的相同目录,存在上面代码中提到名称的图标和图象,否则在创建资源文件的时候是会出错的。”
    说明在执行文件的时候,还是需要保证用到的图标或图像文件存在的啊
      

  2.   

    我看很多商业软件都把这个隐掉了啊,
    比如说mapinfo之类的
    关键现在是不知道该怎么隐掉啊...
      

  3.   

    我们往往不想让使用程序的人知道我们使用的资源文件,比如程序用到的 
    图标,图像等.现在开始你可以将其做成资源文件: 
    比如一个窗体的图标,你可以先将它做成资源文件,然后再用它,这样别人就看不到你的 
    图标了: 
    1)首先新建一个工程(制作资源文件,当然也可以用原来的工程),在窗体上添加一个按钮 
      双击按钮在其Click事件下键入如下代码: 
    //用写资源流创建资源文件 
    ResourceWriter rw=new ResourceWriter(@"rec\myres.resources"); 
    //资源文件的存放路径 
    Icon ico = new Icon ( "F:\\Icon  Collection\\SysIcon\\004sys.ico" ) ; 
    //新建一个图标用于写入资源文件 
    rw.AddResource("004sys.ico",ico); //将图标添加到资源文件 
    Cursor ss = new Cursor(@"D:\gis\bin\Debug\cursor\ZoomIn.cur");
    rw.AddResource("zoomin",ss);//添加光标
    rw.Generate ( ) ; 
    rw.Close(); 
    2)用上面的工程点击按钮生成资源文件(我上面将资源文件存放在程序路径的rec文件夹下,你也可以使用别的路径) 
    3)将上面生成得资源文件(myres.resources)复制到你要使用该图标的工程中 
    4)然后在你想要使用该图标光标的工程名上右键->添加->添加现有项,把资源文件(myres.resources)添加进来.
    5)然后你就可以通过读该资源文件来得到相应的图标光标了.
    这样的话,只要你在另外一个工程里把资源文件生成好,在发布的工程里就根本不需要用到图标或光标的源文件了.
      

  4.   

    读资源文件的方式有两种:
    第一种:
    ResourceReader re=new ResourceReader(@"rec\myres.resources");//资源文件路径 
    IDictionaryEnumerator en=re.GetEnumerator(); 
    en.MoveNext();  //指针下移(若有多个资源则继续下移到你想要的资源) 
    Icon ico=(Icon)en.Value;//获得刚才创建的图标资源 
    this.Icon=ico; 
    en.MoveNext();
    Cursor cr = (Cursor)en.value
    this.Cursor = cr;
    re.Close();
    第二种:
    System.Reflection.Assembly assembly = 
    System.Reflection.Assembly.GetExecutingAssembly();
    ResourceManager rm = new ResourceManager("WindowsApplication6.myres",assembly);
    //注意这里的WindowsApplication6是你所建的工程的名字,这里只要改成你的工程的名字
    //就可以了
    this.Cursor = (System.Windows.Forms.Cursor)
    (rm.GetObject("zoomin"));
      

  5.   

    另外,记得添加
    using System.Resources;
      

  6.   

    上面的方法我试过是可以的.
    还有几种方法,不过我还没试过.
    1)
    将光标文件加入项目,然后在解决方案资源管理器中单击该文件,
    然后查看该文件属性,将生成操作改为嵌入的资源即可,
    读取资源也是用ResourceManager和ResourceReader2)
    在VS.Net的范例中有一个ResEditor范例,这个是一个专门生成资源文件的例子,
    你可以把它修改一下来用,然后在你的程序中再添加你的这个资源文件.
    具体怎么读这个资源文件,请参阅一下ResourceManager类.3)
    在你安装Visual Studio .NET 2003的目录下有个例子
    SDK\v1.1\Samples\Tutorials\resourcesandlocalization
    下的reseditor,你可以把他做成一个资源编辑器
    怎么使用,请查ResourceManager类的帮助