2012年1月10日 星期二

C# 嵌入檔案,包在EXE裡

圖檔可以透過加入Resource的方式來使用,那其他檔案呢?有一種方便的嵌入方式可以把想要的檔案夾在你產生的EXE中,從專案中選擇「加入」、「現有項目」、然後從檔案對話框當中更改檔案類型為*.*,點選你想要的檔案,可加入專案中。

  




接下來,在方案總管中選擇該檔案,在屬性視窗將「建置動作」改為「內嵌資源」,這樣就可以讓程式碼引用,程式碼如下。










                    // 從專案組件讀入檔案到磁碟
                    Assembly Asmb = Assembly.GetExecutingAssembly( );
                    Stream ManifestStream = Asmb.GetManifestResourceStream( Asmb.GetName( ).Name + ".Update_Downloader.exe" );


                    // 讀入檔案
                    byte[] StreamData = new byte[ ManifestStream.Length ];
                    ManifestStream.Read( StreamData, 0, (int)ManifestStream.Length );


                    // 存到磁碟
                    FileStream FileStm = new FileStream( ExeFileName, FileMode.Create );
                    FileStm.Write( StreamData, 0, (int)ManifestStream.Length );
                    FileStm.Close( );

沒有留言:

張貼留言