首页 > 编程 > C# > 正文

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

2020-01-24 02:23: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.VeVB.COm)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#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表