1. 程式人生 > >C#獲取程序文件相關信息的方法

C#獲取程序文件相關信息的方法

label -c .html 相對 內容 reflect abi socket right

本文實例講述了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#程序設計有所幫助。

除聲明外,跑步客文章均為原創,轉載請以鏈接形式標明本文地址
C#獲取程序文件相關信息的方法

本文地址: http://www.paobuke.com/develop/c-develop/pbk23459.html






相關內容

技術分享圖片C# List實現行轉列的通用方案技術分享圖片C# Socket的TCP通訊的實例代碼技術分享圖片聊一聊C#接口問題 新手速來圍觀技術分享圖片C#將指定目錄所有文件名轉換成小寫的方法
技術分享圖片C#使用this關鍵字實現串聯構造函數調用方法技術分享圖片C#逐行分元素讀取記事本數據並寫入數據庫的方法技術分享圖片C#將jpg轉換為pdf的方法技術分享圖片C#實現winform漸變效果的方法

C#獲取程序文件相關信息的方法