1
A
回答
1
您可以使用CSharpCodeProvider类在运行时编译代码并添加嵌入的资源。看看这篇文章,我解释如何做到这一点:SlideShow Builder
0
这会为你生成一个进程具有指定名称(你仍然需要为图片添加代码):
public static Process GenerateRuntimeProcess(string processName, int aliveDuration, bool throwOnException = true)
{
Process result = null;
try
{
AssemblyBuilder assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(new AssemblyName() { Name = processName }, AssemblyBuilderAccess.Save);
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule(processName, processName + ".EXE");
TypeBuilder typeBuilder = moduleBuilder.DefineType("Program", TypeAttributes.Public);
MethodBuilder methodBuilder = typeBuilder.DefineMethod("Main", MethodAttributes.Public | MethodAttributes.Static, null, null);
ILGenerator il = methodBuilder.GetILGenerator();
il.UsingNamespace("System.Threading");
il.EmitWriteLine("Hello World");
il.Emit(OpCodes.Ldc_I4, aliveDuration);
il.Emit(OpCodes.Call, typeof(Thread).GetMethod("Sleep", new Type[] { typeof(int) }));
il.Emit(OpCodes.Ret);
typeBuilder.CreateType();
assemblyBuilder.SetEntryPoint(methodBuilder.GetBaseDefinition(), PEFileKinds.ConsoleApplication);
assemblyBuilder.Save(processName + ".EXE", PortableExecutableKinds.Required32Bit, ImageFileMachine.I386);
result = Process.Start(new ProcessStartInfo(processName + ".EXE")
{
WindowStyle = ProcessWindowStyle.Hidden
});
}
catch
{
if (throwOnException)
{
throw;
}
result = null;
}
return result;
}
可以findmore上System.Reflection.Emit信息在MSDN here或教程here或here。
如果我是你,我也会考虑使用powerpoint和/或查看器应用程序和一些命令行选项作为详细here。也许你不需要“制作一个应用程序,使另一个应用程序是幻灯片放映”。
1
这很容易完成。
您可以将图片添加为嵌入资源,然后使用Reflection技术来发现和检索嵌入的图片。
因此,您编写的程序与图片列表无关,图片列表只是嵌入的资源。您可以使用Visual Studio将图片嵌入为资源,或者创建一个自定义程序来执行此操作。
你可以在http://msdn.microsoft.com/en-us/library/aa287676(v=VS.71).aspx和http://www.java2s.com/Code/CSharp/Development-Class/Saveandloadimagefromresourcefile.htm找到一些例子。
祝你好运!
0
像什么SK-逻辑说,有
http://msdn.microsoft.com/en-us/library/system.reflection.emit.aspx
这里是举例说
http://olondono.blogspot.com/2008/02/creating-code-at-runtime.html
你也可以创建一个项目文件并创建代码文件,并使用Process类调用编译器,如果你需要帮助,可以举例
相关问题
- 1. 为自定义XmlSerializer生成一个Xml序列化程序集
- 2. 创建自定义绑定程序
- 3. 为我的应用程序创建一个自定义键盘
- 4. 在.NET中创建一个自定义的FTP服务器?
- 5. 创建自定义Twitter应用程序
- 6. 创建一个自定义的UITableViewCell
- 7. 创建一个自定义的BufferedImage
- 8. 创建一个自定义的UITableView
- 9. 创建一个自定义的sys.stdout类?
- 10. Grails - 创建一个自定义的PersistenceEventListener
- 11. 引导程序4自定义生成生成器/下载
- 12. 我想创建自定义Android生日愿望应用程序
- 13. 如何通过编程生成一个exe程序?
- 14. 创建一个没有输入数据的自定义生成器Hadoop InputFormat
- 15. 创建一个用于生成自定义类或文件的工匠命令
- 16. 创建.NET自定义控件
- 17. 在.net中创建自定义事件
- 18. 创建自定义ChangePassword - .net标识
- 19. 在Visual Studio中创建自定义属性编辑器/生成器.Net
- 20. Hibernate序列生成的自定义
- 21. 编译.exe程序时生成的.lib
- 22. 创建一个自定义依赖块
- 23. 创建一个WPF自定义控件
- 24. 创建一个自定义datagridrowview
- 25. 如何创建一个自定义NSMenuItem
- 26. 为ASP.Net创建一个自定义PrincipalPermission
- 27. 创建一个exe文件
- 28. 如何创建一个安装驱动程序的exe文件
- 29. 创建一个生成Unity3D应用程序
- 30. 在sql中生成自定义序列
MSDN:'System.Reflection.Emit' – 2012-03-29 14:28:48
你确实需要嵌入图片吗?如果没有,最好制作一个程序从一个文件夹中加载图片并显示(全部),您只需要在文件夹中放入新图片以创建新的幻灯片,或为其他文件夹提供程序位置 – ata 2012-03-29 14:32:01
你为什么要这样做?为什么你不能只使用powerpoint和/或查看器与一些[命令行选项](http://office.microsoft.com/en-us/powerpoint-help/command-line-switches-for-powerpoint-2007-和最的PowerPoint查看器-2007-HA010153889.aspx)? – mtijn 2012-03-29 14:43:09