当前位置:编程学习 > C#/ASP.NET >>

请问如何把一个exe添加到资源中,在使用时运行??????????????????

如题:

比如做好的程序在运行时,检测到环境缺少一个exe文件,就从资源中提取保存,并运行程序,

或者是直接从资源中提取并运行。。。

最好给段代码。。。3Q.... --------------------编程问答-------------------- 将exe包括在项目中,
生成操作那里选-》潜入的资源 --------------------编程问答-------------------- ...这个,有点病毒的倾向了 --------------------编程问答-------------------- System.Reflection;

用法,将资源读出到Stream流中,然后使用.
Assembly assembly = GetType().Assembly;
System.IO.Stream streamSmall = assembly.GetManifestResourceStream("NameSpace.Folder.FileName"); --------------------编程问答-------------------- 恩,我写过个类似的东西
把程序嵌入资源到另一个程序里
然后ls的方法读出来 --------------------编程问答-------------------- alextsln(以泪洗面)
   ...这个,有点病毒的倾向了

对,是有点象病毒。
呵呵,不过不是干坏事。
一个exe比一堆exe感觉好一些。

记得看到一篇帖子,可以不保存成文件直接从资源读取运行。可是忘记了
 
 
--------------------编程问答-------------------- 不保存成文件直接从资源读取运行
-------------------------------

麻烦你找到一定一分享出来啊 --------------------编程问答-------------------- (銘龘鶽)说“不读出来保存成exe,执行是不可以的”   
  不过事实说明是不对的,鼓捣了一阵,辛苦没有白费,可以直接执行   
  作为资源嵌入的可执行文件,目前可以调用嵌入可执行文件的Main方法,   
  从而达到执行嵌入可执行文件的目的。   
  有兴趣的兄弟可以看看我的代码,欢迎讨论:   
    
  Stream   streamObj   =   this.GetType().Assembly.GetManifestResourceStream("Test_ExeInResource.AllTest.exe");   
    
  byte[]   b   =   new   byte[streamObj.Length];   
  streamObj.Read(b,   0,   b.Length);   
    
  Assembly   a   =   Assembly.Load(b);   
  Type[]   mytypes   =   a.GetTypes();   
  BindingFlags   flags   =   (BindingFlags.NonPublic   |   BindingFlags.Public   |     
  BindingFlags.Static   |   BindingFlags.Instance   |   BindingFlags.DeclaredOnly);   
    
  foreach(Type   t   in   mytypes)   
  {   
  MethodInfo[]   mi   =   t.GetMethods(flags);   
  Object   obj   =   Activator.CreateInstance(t);   
    
  foreach(MethodInfo   m   in   mi)   
  {   
  if   (m.Name   ==   "Main")   
  {   
  MainDelegate   md   =   
  (MainDelegate)Delegate.CreateDelegate(typeof(MainDelegate),   m);   
    
  md.BeginInvoke(null,   null);   
  }   
  }   
  }



刚开始学,看不太明白。。。。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,