发新话题
打印

C#调用windows控制面板

C#调用windows控制面板

在Windows操作系统中,控制面板的文件一般是以“.cpl”为后缀的,下表列出Windows控制面板常用的选项及其文件名:
选项 文件名 ----------------------------------- I-------------------------------------
nternet选项: 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
{
///
/// Form1 的摘要说明。
///
public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.Button button1; private System.Windows.Forms.Label label1;
///
///必需的设计器变量。
///
private System.ComponentModel.Container components = null; public Form1() {
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
///
///清理所有正在使用的资源。
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{ components.Dispose(); }
}
base.Dispose( disposing ); }
#region Windows Form Designer generated code
///
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
///
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
///
/// 应用程序的主入口点。
///
[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);
}
}
}
}

[ 本帖最后由 aying996 于 2007-12-6 09:57 编辑 ]
UK软件工作室:系统开发

TOP

发新话题