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. 從.EXE創建一個.EXE
- 4. 創建一個自定義的密碼保護文件程序
- 5. 在.NET中創建一個自定義的FTP服務器?
- 6. 如何自定義由install4j創建的安裝程序.exe的圖標?
- 7. 用預定義的設置生成一個exe文件
- 8. 創建自定義Twitter應用程序
- 9. 自定義Grails創建應用程序
- 10. 如何創建一個.exe驅動程序安裝程序
- 11. 創建一個自定義的sys.stdout類?
- 12. 創建一個自定義的UITableView
- 13. 創建一個自定義的UITableViewCell
- 14. 創建一個自定義的BufferedImage
- 15. Grails - 創建一個自定義的PersistenceEventListener
- 16. Django的 - 創建一個自定義ID
- 17. 創建一個自定義的網格
- 18. 創建一個自定義DataGrid的ItemsSource
- 19. 創建一個自定義的UIScrollView Scroller
- 20. 引導程序4自定義生成生成器/下載
- 21. 建立一個自定義標記生成器的elasticsearch
- 22. 如何通過編程生成一個exe程序?
- 23. 我想創建自定義Android生日願望應用程序
- 24. Incredibuild 2個應用程序的「自定義生成」
- 25. 創建一個用於生成自定義類或文件的工匠命令
- 26. 創建一個沒有輸入數據的自定義生成器Hadoop InputFormat
- 27. 創建.NET自定義控件
- 28. 創建自定義ChangePassword - .net標識
- 29. 在.net中創建自定義事件
- 30. 在Visual Studio中創建自定義屬性編輯器/生成器.Net
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