我程序里加入了一个图标的资源文件。
我能用这个语句
Me.Icon = New Icon(System.Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream("WindowsApplication5.图标.ico"))更改窗口的图标我现在想把这个图标资源文件存成硬盘上的一个文件(例如:a.ico)但我知道
Dim o As Object
o = System.Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream("WindowsApplication5.图标.ico")返回的是object,不知道怎么能写成2进制文件。小弟研究了一上午,不得其解。希望大家谁知道能告诉我具体步骤。谢谢了

解决方案 »

  1.   

    System.Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream("WindowsApplication5.图标.ico") 返回是一个stream
    用这个stream写文件
      

  2.   

    Try
                '通过反射取到程序集
                Dim Asm As [Assembly] = [Assembly].GetExecutingAssembly()
                '读取资源文件资料,要将资源文件在编译时设成嵌入的资源
                Dim Sm As Stream = Asm.GetManifestResourceStream(Asm.GetName().Name + "." + Name)
    Sm.write(....)
                Dim Rr As New StreamReader(Sm)
                Return Rr.ReadToEnd
            Catch ex As Exception
                MsgBox(Err.Description, MsgBoxStyle.OKOnly, "出错提示")
                Throw ex
            End Try
      

  3.   

    Try
                '通过反射取到程序集
                Dim Asm As [Assembly] = [Assembly].GetExecutingAssembly()
                '读取资源文件资料,要将资源文件在编译时设成嵌入的资源
                Dim Sm As Stream = Asm.GetManifestResourceStream(Asm.GetName().Name + "." + DatFileName)
                If File.Exists("c:\" & DatFileName) Then
                    File.Delete("c:\" & DatFileName)
                End If
                Dim Fs As New FileStream("c:\" & DatFileName, FileMode.Create)
                Dim Sw As New BinaryWriter(Fs)
                Dim recbyte(Sm.Length - 1) As Byte
                Dim strread As New BinaryReader(Sm)
                strread.Read(recbyte, 0, recbyte.Length)
                Sw.Write(recbyte, 0, recbyte.Length)
                Sw.Close()
                Fs.Close()
                Return "C:\" & DatFileName
            Catch ex As Exception
                MsgBox(Err.Description, MsgBoxStyle.OKOnly, "出错提示")
                Throw ex
            End Try