白天有雨

此处应该有掌声

导航

C#调用控制面板选项

在Windows操作系统中,控制面板的文件一般是以“.cpl”为后缀的,下表列出Windows控制面板常用的选项及其文件名:

-------------------------------------------------------------------------------------------------

选项 文件名

--------------------------------------------------------------------------------------------------

Internet选项: inetcpl.cpl

ODBC数据源管理: odbccp32.cpl

电话和调制解调器选项: telephon.cpl

电源选项: powercfg.cpl

辅助功能选项: access.cpl

区域和语言选项: intl.cpl

日期和时间: timedate.cpl

声音和音频设备: mmsys.cpl

鼠标: main.cpl

添加或删除程序: appwiz.cpl

添加硬件: hdwwiz.cpl

网络连接: ncpa.cpl

系统: sysdm.cpl

显示: desk.cpl

用户帐户: nusrmgr.cpl

游戏控制器: joy.cpl

语音: sapi.cpl

----------------------------------------------------------------------------------------------------

字体: Fonts

----------------------------------------------------------------------------------------------------

这些是常用的控制面板中的选项。

操作:

我们在C#中可以用以下方式打开操作:

using System.Diagnostics;//在调用命名空间时调用。

//在事件处理中我们可以采用如下方式:

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);

}

在程序运行以后出现如下效果:



如果我们在程序中不输入完整的文件名,将会产生错误,并出现如下的提示信息:



附源代码:

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>

/// 必需的设计器变量。

/// </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 Form Designer generated code

/// <summary>

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

/// </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 = "调用";

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#调用控制面板范例";

//

// 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>

/// 应用程序的主入口点。

/// </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);

}

}

}

}

posted on 2005-12-31 15:14  卓如  阅读(954)  评论(0编辑  收藏  举报