2010-11-18 10 views
1

私はプロジェクトのリソースにいくつかのexeファイルを追加したとしましょう。 このファイルを実行するには、新しいファイルとしてリソースからファイルを抽出してから実行する必要があります。 誰かが助けてくれますか。exeリソースを抽出して実行する(Visual Basicで)

答えて

0

リソースをストリームとして取得する

myAssembly.GetManifestResourceStream("TheNameSpacename.NameOfYourFile") 

ファイルにストリームをコピー:すでにここで説明:

http://stackoverflow.com/questions/411592/how-do-i-save-a-stream-to-a-file 

(例はVB.NETに移植するのは簡単であるべきで、C#である)アセンブリから。ファイルを実行

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start.aspx 
+0

おかげしかしuは "TheNameSpacename" は何であるかdiscripことができます。System.Diagnostics.Process.Startを使うのか? –

+0

暗いappStreamとしてストリーム= System.Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream( "Me.Resources.GetHTMLsource.exe")新規のStreamReader(appStream)新System.Text.ASCIIEncoding 暗いとして 暗いエンコーディングとして 薄暗いあるinStreamバイト= encoding.GetBytes(inStream.ReadToEnd) My.Computer.FileSystem.WriteAllBytes( "GetHTMLsource.exe"、バイト、偽) これは私がwirteものですが、 "appstreamは" –

+0

TheNameSpaceでなければなりません常にNULLですアセンブリの既定の名前空間。説明はhttp://www.jelovic.com/articles/resources_in_visual_studio.htmをご覧ください。ネームスペースに関して既存のアセンブリを分析する必要がある場合は、.NETリフレクタ(http://www.red-gate.com/products/reflector/)を使用して、 –

関連する問題