请问如何把一个exe添加到资源中,在使用时运行?????????????????? 将exe包括在项目中,生成操作那里选-》潜入的资源 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 System.Reflection;用法,将资源读出到Stream流中,然后使用.Assembly assembly = GetType().Assembly;System.IO.Stream streamSmall = assembly.GetManifestResourceStream("NameSpace.Folder.FileName"); 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); } } }刚开始学,看不太明白。 C# 线程问题。 关于c#读文件问题 c#的edit控件如何只允许输入数字 求助在窗体的textBox中相互拖拽数据 关于路径的问题 以前从事Web项目开发时,UI方面设计习惯用Frameset定主框架,然后用div或table完成局部布局; C#中一个类如何返回多个数组 textBox的enter事件為什麼不能執行selectAll方法 如何获得datagrid的超连接列的内容? 100分求解:在C#中如何将菜单项和工具栏的按钮对应起来??? 征求看法,散分100!C#中如何编写使用SendMessage?! 关于C#与C#.NET究竟有多大改善?
Assembly assembly = GetType().Assembly;
System.IO.Stream streamSmall = assembly.GetManifestResourceStream("NameSpace.Folder.FileName");
...这个,有点病毒的倾向了对,是有点象病毒。
呵呵,不过不是干坏事。
一个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);
}
}
}刚开始学,看不太明白。