当前位置:  编程技术>.net/c#/asp.net

C#获取程序文件相关信息的方法

    来源: 互联网  发布时间:2014-11-04

本文实例讲述了C#获取程序文件相关信息的方法,分享给大家供大家参考。

具体实现方法如下:

using System.Reflection;
using System.Runtime.CompilerServices;

//
// 有关程序集的常规信息是通过下列
// 属性集控制的。更改这些属性值可修改与程序集
// 关联的信息。
//
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
//
// 程序集的版本信息由下列 4 个值组成:
//
// 主版本
// 次版本 
// 内部版本号
// 修订号
//
// 您可以指定所有这些值,也可以使用“修订号”和“内部版本号”的默认值,方法是按
// 如下所示使用 '*':

[assembly: AssemblyVersion("1.0.*")]

//
// 要对程序集进行签名,必须指定要使用的密钥。有关程序集签名的更多信息,请参考 
// Microsoft .NET Framework 文档。
//
// 使用下面的属性控制用于签名的密钥。
//
// 注意:
// (*) 如果未指定密钥,则程序集不会被签名。
// (*) KeyName 是指已经安装在计算机上的
// 加密服务提供程序(CSP)中的密钥。KeyFile 是指包含
// 密钥的文件。
// (*) 如果 KeyFile 和 KeyName 值都已指定,则 
// 发生下列处理:
// (1) 如果在 CSP 中可以找到 KeyName,则使用该密钥。
// (2) 如果 KeyName 不存在而 KeyFile 存在,则 
// KeyFile 中的密钥安装到 CSP 中并且使用该密钥。
// (*) 要创建 KeyFile,可以使用 sn.exe(强名称)实用工具。
// 在指定 KeyFile 时,KeyFile 的位置应该相对于
// 项目输出目录,即
// %Project Directory%obj<configuration>。例如,如果 KeyFile 位于
// 该项目目录,应将 AssemblyKeyFile 
// 属性指定为 [assembly: AssemblyKeyFile("..\..\mykey.snk")]
// (*) “延迟签名”是一个高级选项 - 有关它的更多信息,请参阅 Microsoft .NET Framework
// 文档。
//
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]

forms1.frm文件这里是核心程序

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.Diagnostics;

namespace MyFile
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Button button3;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;

public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();

//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}

/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null) 
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.button2 = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.button3 = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
// 
// button1
// 
this.button1.Location = new System.Drawing.Point(8, 192);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(112, 23);
this.button1.TabIndex = 1;
this.button1.Text = "浏览程序文件";
this.button1.Click += new System.EventHandler(this.button1_Click);
// 
// textBox1
// 
this.textBox1.BackColor = System.Drawing.SystemColors.Control;
this.textBox1.Location = new System.Drawing.Point(104, 8);
this.textBox1.Name = "textBox1";
this.textBox1.ReadOnly = true;
this.textBox1.Size = new System.Drawing.Size(256, 21);
this.textBox1.TabIndex = 2;
this.textBox1.Text = "";
// 
// groupBox1
// 
this.groupBox1.Controls.Add(this.label5);
this.groupBox1.Controls.Add(this.label4);
thi(www.)s.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Location = new System.Drawing.Point(8, 40);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(352, 144);
this.groupBox1.TabIndex = 3;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "程序文件信息";
// 
// openFileDialog1
// 
this.openFileDialog1.Filter = "程序文件(*.exe)|*.exe|All files (*.*)|*.*";
// 
// button2
// 
this.button2.Location = new System.Drawing.Point(120, 192);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(112, 23);
this.button2.TabIndex = 11;
this.button2.Text = "获取程序文件信息";
this.button2.Click += new System.EventHandler(this.button2_Click);
// 
// label1
// 
this.label1.Location = new System.Drawing.Point(16, 24);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(320, 16);
this.label1.TabIndex = 0;
this.label1.Text = "公司名称:";
// 
// label2
// 
this.label2.Location = new System.Drawing.Point(16, 48);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(320, 16);
this.label2.TabIndex = 1;
this.label2.Text = "产品名称:";
// 
// label3
// 
this.label3.Location = new System.Drawing.Point(16, 72);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(320, 16);
this.label3.TabIndex = 2;
this.label3.Text = "语言标志:";
// 
// label4
// 
this.label4.Location = new System.Drawing.Point(16, 96);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(320, 16);
this.label4.TabIndex = 3;
this.label4.Text = "版本号:";
// 
// label5
// 
this.label5.Location = new System.Drawing.Point(16, 120);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(320, 16);
this.label5.TabIndex = 4;
this.label5.Text = "版权声明:";
// 
// label6
// 
this.label6.Location = new System.Drawing.Point(8, 16);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(96, 16);
this.label6.TabIndex = 12;
this.label6.Text = "程序文件名称:";
// 
// button3
// 
this.button3.Location = new System.Drawing.Point(232, 192);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(128, 23);
this.button3.TabIndex = 13;
this.button3.Text = "获取本程序文件信息";
this.button3.Click += new System.EventHandler(this.button3_Click);
// 
// Form1
// 
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(368, 222);
this.Controls.Add(this.button3);
this.Controls.Add(this.label6);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.button1);
this.Controls.Add(this.button2);
this.MaximizeBox = false;
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "演示获取程序文件信息";
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false);

}
#endregion

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main() 
{
Application.Run(new Form1());
}

private void button1_Click(object sender, System.EventArgs e)
{//浏览程序文件
if(this.openFileDialog1.ShowDialog()==DialogResult.OK)
{
this.textBox1.Text=this.openFileDialog1.FileName;
}
}

private void button2_Click(object sender, System.EventArgs e)
{//获取程序文件信息
string MyFileName=this.textBox1.Text;
if(MyFileName.Length<1)
return;
string ShortName=MyFileName.Substring(MyFileName.LastIndexOf("\")+1);
this.groupBox1.Text=ShortName+"程序文件信息";
FileVersionInfo MyInfo=FileVersionInfo.GetVersionInfo(MyFileName);
this.label1.Text="公司名称:"+MyInfo.CompanyName;
this.label2.Text="产品名称:"+MyInfo.ProductName;
this.label3.Text="语言标志:"+MyInfo.Language;
this.label4.Text="版本号:"+MyInfo.FileVersion;
this.label5.Text="版权声明:"+MyInfo.LegalCopyright; 
}

private void button3_Click(object sender, System.EventArgs e)
{//获取当前程序文件信息
this.groupBox1.Text="显示本程序文件信息";
this.label1.Text="公司名称:"+Application.CompanyName;
this.label2.Text="区域信息:"+Application.CurrentCulture;
this.label3.Text="语言标志:"+Application.CurrentInputLanguage;
this.label4.Text="产品名称:"+Application.ProductName;
this.label5.Text="产品版本:"+Application.ProductVersion; 
}
}
}

希望本文所述对大家的C#程序设计有所帮助。


    
相关技术文章:
    ▪C#中的除法运算符与VB.NET中的除法运算符

     VB.NET中的除法运算符有两个:/(浮点除法)、\(整数除法) C#中的除法运算符只有一个:/(除法) VB.NET中的除法运算符与C#中的除法运算符存在很大的差异,使用时注意区分。   关于VB.NET中的除法运算符的介绍(摘自MSDN): /(浮点除法):将两个数相除并返回以浮点数表示的结果。 所得结果的数据类型取决于操作数的类型。 下表显示如何确定结果的数据类型。 ......


    ▪ASP.NET MVC 5使用X.PagedList.Mvc进行分页教程(PagedList.Mvc)

     ASP.NET MVC中进行分页的方式有多种,但在NuGet上使用最广泛的就是用PagedList、X.PagedList.Mvc进行分页。(原名为:PagedList.Mvc,但是2014年开始,作者将项目名称改名字为“X.PagedList.Mvc”),用这个插件的话会非常便利,大家可以试试,接下来将给大家讲下如何安装这个NuGet插件。 ASP.NET MVC 5使用X.PagedList.Mvc进行分页教程(原名为PagedList.Mvc) 1、工具——NuGet 程序包管理器——管理解决方案的 NuGet 程序包 2、 搜索“X.PagedList.Mvc”,并安装、引用 3、\Controllers\UserController.cs 后台代码基本用法: using......


    ▪Base64编码解码原理及C#编程实例

     一. Base64编码由来 为什么会有Base64编码呢?因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像ASCII码的控制字符就不能通过邮件传送。这样用途就受到了很大的限制,比如图片二进制流的每个字节不可能全部是可见字符,所以就传送不了。最好的方法就是在不改变传统协议的情况下,做一种扩展方案来支持二进制文件的传送。把不可打印的字符也能用可打印字符来表示,问题就解决了。Base64编码应运而生,Base64就是一种基于64个可打印字符来表示二进制数据的表示方法。 二. Base64编码原理......


 
最新技术文章:
    ▪C#通过IComparable实现ListT.sort()排序

     本文实例讲述了C#通过IComparable实现ListT.sort()排序的方法,分享给大家供大家参考之用。具体方法如下: 通常来说,List<T>.sort()可以实现对T的排序,比如List<int>.sort()执行后集合会按照int从小到大排序。如果T是一个自定义的Object,可是我们想按照自己的方式来排序,那该怎么办呢,其实可以用过IComparable接口重写CompareTo方法来实现。流程如下: 一、第一步我们申明一个类Person但是要继承IComparable接口: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TestIC......


    ▪C#实现对Json字符串处理实例

     本文实例讲述了C#实现对Json字符串处理方法,分享给大家供大家参考。具体分析如下: 一般对于web应用开发人员来说对Json字符串都会很熟悉,其实在很多请求我们返回的都是Json字符串。那对于C#代码如何处理Json字符串呢,.Net封装了一个类叫做JavaScriptSerializer[MSDN Library 链接:http://msdn.microsoft.com/en-us/library/ee191864(v=vs.110).aspx];这个类提供了一个方法。 下面这个是在快递100往抓取的一个圆通的快递信息。对于我们有用的信息是快递时间,快递状况。那我该如何来做。  ......


    ▪Winform实现抓取web页面内容的方法

     本文以一个非常简单的实例讲述了Winform实现抓取web页面内容的方法,代码简洁易懂,非常实用!分享给大家供大家参考。 具体实现代码如下: WebRequest request = WebRequest.Create("http://1.bjapp.sinaapp.com/play.php?a=" + PageUrl); WebResponse response = request.GetResponse(); Stream resStream = response.GetResponseStream(); StreamReader sr = new StreamReader(resStream, System.Text.Encoding.UTF8); string htmlinfo = sr.ReadToEnd(); resStream.Close(); sr.Close(); 感兴趣的朋友可以测试运行或改进本文实例。希望本文所述对大家C#程序设计的学习有所帮助。 ......


 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2015,169IT.COM,站长邮箱:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号