2010-11-18 2 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 

(пример находится в C#, перенос на VB.NET должен быть легким).

Запуск файла: используйте System.Diagnostics.Process.Start:

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

Спасибо, но может у discrip, что "TheNameSpacename" есть? –

+0

дим appStream как поток = System.Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream ("Me.Resources.GetHTMLsource.exe") дим InStream As New StreamReader (appStream) Тусклое кодирования As New System.Text.ASCIIEncoding Dim байт = encoding.GetBytes (inStream.ReadToEnd) My.Computer.FileSystem.WriteAllBytes ("GetHTMLsource.exe", байты, False) это то, что я wirte но "appstream" всегда NULL –

+0

TheNameSpace должен быть default namespace вашей сборки. Посмотрите здесь http://www.jelovic.com/articles/resources_in_visual_studio.htm для объяснения. Если вам необходимо проанализировать существующую сборку относительно своего пространства имен, я предлагаю использовать отражатель .NET (http://www.red-gate.com/products/reflector/) –

Смежные вопросы