有誰知道一個API函數從RAM中的可執行文件(內部,比如MemoryStream)中提取圖標資源?從內存中的可執行文件提取圖標
到目前爲止,我所見過的所有圖標解壓縮函數都依賴於磁盤上存在的可執行文件。我想提取圖標,而不必將exe寫入臨時文件,然後從中加載資源。
有誰知道一個API函數從RAM中的可執行文件(內部,比如MemoryStream)中提取圖標資源?從內存中的可執行文件提取圖標
到目前爲止,我所見過的所有圖標解壓縮函數都依賴於磁盤上存在的可執行文件。我想提取圖標,而不必將exe寫入臨時文件,然後從中加載資源。
這是從來沒有一個真正的概率LEM。 Windows有一個硬件要求,即可執行文件是磁盤上的文件。否則,您無法開始流程。由於您必須將該文件寫入磁盤,因此使用需要文件路徑的API從源文件中提取資源永遠不會有問題。
如果我們談論的是採取圖標從已經建立DLL使用反射
http://www.red-gate.com/products/reflector/
打開DLL和只需點擊圖標用鼠標右鍵,點擊另存爲 也可以做到這一點通過代碼使用反射
Assembly myAssembly = Assembly.Load("SampleAssembly, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3");
Stream myStream = myAssembly.GetManifestResourceStream("MyNamespace.SubFolder.MyImage.bmp");
Bitmap bmp = new Bitmap(myStream);
最好的問候, 約爾丹
我認爲他具體說他想從內存中讀取圖標。 – gbianchi 2010-01-18 15:55:23
謝謝;我必須咬那個子彈。 – 2010-01-18 20:18:23
「這絕不是一個真正的問題」 - 可悲的是,你不能確定什麼問題是「真實的」。例如,我想從網絡捕獲中拖動圖標而不接觸磁盤。 – EricLaw 2015-07-21 14:59:56