我正在通過API爲另一個應用程序編寫插件。這些插件分發了一個DLL。是否有可能在DLL文件中嵌入其他文件,如pdf,圖像,chm幫助文件等......我希望能夠提供我的插件的文檔,但我仍然希望保留分發插件的能力作爲單個文件,用戶只需拖放到應用程序上進行安裝即可。我可以在DLL中嵌入其他文件嗎?
9
A
回答
15
Resource Files是你所需要的。
0
是的,你可以做到這一點。
將資源文件添加到您的項目中。在Visual Studio中打開資源文件,然後單擊「插入資源」。您可以選擇不同類型的資源,包括外部文件。
Visual Studio會爲你生成代碼,以便您可以在運行時,從他們的名字通過Resources
標識檢索文件的字節數組。
6
當然,您可以在您的DLL中嵌入資源。然後,在運行時你只是做:
Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("com.stackoverflow.plugin.example.Foo.pdf");
這會給你一個流嵌入在DLL中Foo.pdf
文件。請注意,資源名稱的範圍必須取決於調用方法的類型的名稱空間。
4
當然,只是讓他們「嵌入的資源」,在VS.NET(假設你使用它)。然後您可以通過資源API或簡單地使用Assembly.GetManifestResourceStream()來閱讀它們。
0
作爲替代方法,如果你需要解壓並保存用戶機器上的文件(比如說你想你的應用程序之外訪問的CHM文件),你也可以做同樣的zip文件。
你說你想被「拖」到你的應用程序文件。只需將DDE事件檢查一下,看看該文件是否是zip文件(甚至可以使用類似jar的元數據)並解壓縮包括實際插件在內的必要文件。
這是相同的思路OPENXML文檔,他們真的只是呼嘯而過的化身。
相關問題
- 1. 我們可以在其他頭文件中執行線程嗎?
- 2. 我可以在JavaScript中嵌入svgs嗎?
- 3. 我可以在其他表單標籤中嵌入窗體標籤嗎?
- 4. 我可以寫入嵌入式資源文本文件嗎?
- 5. 我可以在android應用程序中使用dll文件嗎?
- 6. mysql可以將csv或其他txt文件導入一列嗎?
- 7. 我可以使用CoffeeScript結合其他js文件嗎?
- 8. 可以在評論中與其他項目文件關聯嗎?
- 9. 我可以在perlpod文檔中嵌入自定義標題嗎?
- 10. 我可以在Swing中嵌入Swing組件嗎?
- 11. 我可以訪問嵌入資源並將其保存爲文件嗎?
- 12. 我可以預先填寫嵌入式docusign表單上的其他字段嗎?
- 13. 可以將XNA .xnb資源嵌入到exe或dll中嗎?
- 14. 我可以在我的數據庫中添加其他表嗎?
- 15. 我可以得到單獨的DLL來分別解析其導入的DLL嗎?
- 16. 我們可以在其他地圖中使用嵌套地圖嗎?
- 17. 我可以將圖標嵌入.hta文件嗎?
- 18. 您可以在PDF文件中嵌入HTML網頁嗎?
- 19. 我可以在使用AS3的Flash文件中使用其他語言嗎?
- 20. 我可以查看其他人在Visual Studio 2010中籤出的文件嗎
- 21. 我們可以在javascript中設置tabindex文本框和其他控件嗎
- 22. 在dll中嵌入一些文件是錯誤的嗎?
- 23. 可以將Json.Net嵌入到可執行文件中嗎?
- 24. 我可以從我的覆蓋腳本中調用其他JavaScript文件中的其他方法嗎?
- 25. GPLv2 |我可以在其商業產品中嵌入其他開發人員的代碼嗎?
- 26. 我可以在其他地方發送OnMouseDown()事件嗎?
- 27. 我們可以從.dll文件中檢索方法體嗎?
- 28. 我可以在JVM中注入一個DLL並獲得JNIEnv嗎?
- 29. groff:我可以嵌入圖像嗎?
- 30. 我可以用PyroCMS嵌入助手嗎?
非常感謝! – 2009-12-12 03:18:34
你應該解釋如何做到這一點,而不僅僅是粘貼鏈接 – Toolkit 2017-08-27 11:32:41
鏈接被破壞! – LuizLoyola 2018-02-27 16:29:12