C#調(diào)用控制面板選項
發(fā)表時間:2023-08-18 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]C#是一門由Microsoft新推出的開發(fā)語言,它是基于Microsoft的.NET Framework平臺基礎(chǔ)上的新興的開發(fā)工具。正因為它是由Microsoft公司推出的,所以它對Microsof...
C#是一門由Microsoft新推出的開發(fā)語言,它是基于Microsoft的.NET Framework平臺基礎(chǔ)上的新興的開發(fā)工具。
正因為它是由Microsoft公司推出的,所以它對Microsoft的所有產(chǎn)品的兼容性與相互操作性是其它公司開發(fā)出的編程語言所不及的。Microsoft開發(fā)的Windows操作系統(tǒng)與C#之間的關(guān)系也非常緊密。從而實現(xiàn)了C#對Windows的無縫操作。
下面,我們就以“C#對Windows控制面板中的選項進行操作”為題講述一下它們之間的聯(lián)系。
在Windows操作系統(tǒng)中,控制面板的文件一般是以“.cpl”為后綴的,下表列出Windows控制面板常用的選項及其文件名:
-------------------------------------------------------------------------------------------------
選項 文件名
--------------------------------------------------------------------------------------------------
Internet選項: inetcpl.cpl
ODBC數(shù)據(jù)源管理: odbccp32.cpl
電話和調(diào)制解調(diào)器選項: telephon.cpl
電源選項: powercfg.cpl
輔助功能選項: access.cpl
區(qū)域和語言選項: intl.cpl
日期和時間: timedate.cpl
聲音和音頻設(shè)備: mmsys.cpl
鼠標(biāo): main.cpl
添加或刪除程序: appwiz.cpl
添加硬件: hdwwiz.cpl
網(wǎng)絡(luò)連接: ncpa.cpl
系統(tǒng): sysdm.cpl
顯示: desk.cpl
用戶帳戶: nusrmgr.cpl
游戲控制器: joy.cpl
語音: sapi.cpl
----------------------------------------------------------------------------------------------------
字體: Fonts
----------------------------------------------------------------------------------------------------
這些是常用的控制面板中的選項。
操作:
我們在C#中可以用以下方式打開操作:
using System.Diagnostics;//在調(diào)用命名空間時調(diào)用。
//在事件處理中我們可以采用如下方式:
try
{
Process.Start("[帶上以上的文件名全稱]");
}
catch(Win32Exception win32ex)
{
MessageBox.Show("出錯原因:"+win32ex.Message,"出錯",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
示例:
我們以Internet選項為例進行操作:
我們修改一下上面的代碼為:
using System.Diagnostics;
ProcessStartInfo Info=new ProcessStartInfo();
try
{
Info.FileName="inetcpl.cpl";
Process.Start(Info);
}
catch(Win32Exception win32ex)
{
MessageBox.Show("出錯原因:"+win32ex.Message,"出錯”,MessageBoxButtons.OK,MessageBoxIcon.Error);
}
在程序運行以后出現(xiàn)如下效果:
如果我們在程序中不輸入完整的文件名,將會產(chǎn)生錯誤,并出現(xiàn)如下的提示信息:
附源代碼:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Diagnostics;
namespace CsharpCallCPL
{
/// <summary>
/// Form1 的摘要說明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label1;
/// <summary>
/// 必需的設(shè)計器變量。
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Windows 窗體設(shè)計器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 調(diào)用后添加任何構(gòu)造函數(shù)代碼
//
}
/// <summary>
/// 清理所有正在使用的資源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// 設(shè)計器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內(nèi)容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(192, 72);
this.button1.Name = "button1";
this.button1.TabIndex = 0;
this.button1.Text = "調(diào)用";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("宋體", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));
this.label1.Location = new System.Drawing.Point(40, 16);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(203, 24);
this.label1.TabIndex = 1;
this.label1.Text = "C#調(diào)用控制面板范例";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(296, 125);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.label1,
this.button1});
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// 應(yīng)用程序的主入口點。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
ProcessStartInfo Info=new ProcessStartInfo();
try
{
Info.FileName="inetcpl.cpl";
Process.Start(Info);
}
catch(Win32Exception win32ex)
{
MessageBox.Show("出錯原因:"+win32ex.Message,"出錯",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
}
}