教你如何在VB.NET可执行文件中嵌入一个文本文件

开发 后端
本文介绍了VB.NET可执行文件,演示了一个在net中可执行文件中嵌入一个文本文件详细的步骤,文章中有图片和代码,希望大家看了会有提高。

经过长时间学习VB.NET,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。以前我做程序,版权使用协议信息总是放在一个txt文本文件中,打包时和可执行文件放在一起,在安装时释放到程序的安装路径,然后再打开使用。这种做法有两大坏处,一是这个文件很容易被其它人修改,二是话这种做法太不成熟了。现在我使用一个新的方法,就是将协议和可执行文件结合在一起,在程序运行时读出使用,当然这就全靠资源的作用了。

示例 在net中可执行文件中嵌入一个文本文件步骤如下:

1、在VB.net中新建一个项目,类型选择windows应用程序,项目名称改为resourcesample2。

2、点击项目菜单,选择添加现有项,接着会弹出一个文件对话框,将文件类型改为所有文件后,选择要嵌入的txt文件(其实这时你可选择任意文件,只要你喜欢*-)。接着你会在解决方案资源管理器中发现你新加入的文件名。如图:

浅析VisualBasic.NET中的资源使用


3、关键的一步到了,在解决方案资源管理器中点击你刚加入的文件名,然后在属性窗体中将 "加成操作" 这一属性改为"嵌入的资源",这将告诉net,刚加入的文件将会作为资源链接进VB.NET可执行文件中。留意一下文件名哦,这在后面的程序中也很重要,强烈建议使用小写文件名!如下图:

 

浅析VisualBasic.NET中的资源使用
 

4、接下就是在程序中用代码读出这个文件的内容。

在Form1_Click事件中加入代码,如下所示:

  1. Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Click  
  2. Dim tobjStream As IO.Stream = Me.GetType.Assembly.GetManifestResourceStream("resourcesample2.License.txt")  
  3. Dim tobjStreamReader As New IO.StreamReader(tobjStream, System.Text.Encoding.Default)  
  4. Dim tstrLicense As String = tobjStreamReader.ReadToEnd  
  5. '如果是图象就可以使用dim tobjBMP as new bmp(tobjstrem)的方法直接得到资源内容  
  6. MessageBox.Show(tstrLicense)'显示刚才读得的结果  
  7. End Sub  

在此对上述代码进行一点解释,net是通过Assembly的GetManifestResourceStream读出嵌入在VB.NET可执行文件的资源并以IO.Stream对象返回(反正得到了这个流,就好象你时进行文件流操作,读/写到磁盘或象我一样在程序内部处理都由你自己决定了)。这个方法的唯一参数是资源的唯一标识,是按如下方式组成的:程序集的根命名空间+"."+资源在属性窗口显示的文件名(这是区分大小写的,在上文已提醒你注意了哦,而且这个标识法在C#中是不同的,别问我为什么,谁叫你不和我一样使用VB.net,哼8-)。

程序集的根命空间的名你可以从项目菜单下的XXXX(XXXX是你的项目名称,可不要认为是骂人的话8-)属性中看到:

其余的代码就是以流方式读文件了,很简单吧。

5、按生成菜单下的生成解决方案,然后到你可执文件的目录下看看,你会发现除了可执行文件外没有别的文本文件,因为文本文件已以资源的方式存在于VB.NET可执行文件中啦。运行一下看看效果啊(一些想做黑客的菜鸟又有什么怪怪的想法,藏木马?……)

资源的使用就介绍到此为至吧,窗外依然小雨菲菲,在虚幻的网络和残酷的现实边缘排徊久了,写文章都有点怪怪的,请大伙儿原谅,祝大伙编程愉快。

【编辑推荐】

  1. VB.NET NotifyIcon控件学习经验
  2. 浅析VB.NET使用MonthCalendar控件
  3. VB.NET Split函数学习笔记
  4. 学习VB.NET Data Report控件
  5. VB.NET使用Alias子句简介
责任编辑:田树 来源: 赛迪网
相关推荐

2023-03-31 23:31:06

.go文本文件

2010-01-15 10:05:35

VB.NET文件对象

2009-11-02 11:22:59

VB.NET文本文件操

2009-10-29 14:16:32

VB.NET读写文本文

2010-01-11 17:05:32

VB.NET操作文本文

2009-10-14 10:25:52

VB.NET读写文本文

2010-01-08 16:10:05

VB.NET读写文本文

2010-01-15 16:21:45

VB.NET读写文本文

2021-01-12 10:10:41

shell脚本Linux命令

2021-01-08 08:06:19

脚本Shell文件

2022-05-11 14:50:34

Python解包执行文件

2015-02-02 11:03:12

2017-02-07 10:22:53

2010-02-22 18:04:27

CentOS mpla

2021-01-14 22:17:09

PythonLinux工具

2014-02-12 14:45:40

Linux文本文件

2009-11-02 12:57:37

VB.NET执行文件

2012-01-05 10:37:40

Java

2011-08-09 10:24:19

可执行文件病毒病毒

2009-06-20 09:21:37

UNIXLINUX
点赞
收藏

51CTO技术栈公众号