C#获取程序文件相关信息的方法
时间:2020-12-16 08:50:43|栏目:.NET代码|点击: 次
本文实例讲述了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.jb51.net)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#程序设计有所帮助。