C#调用控制面板选项 (转)

C#调用控制面板选项 (转)[@more@]

C#调用控制面板选项XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

C#是一门由Microsoft新推出的开发语言,它是基于Microsoft的.NET framework平台基础上的新兴的开发工具。

正因为它是由Microsoft公司推出的,所以它对Microsoft的所有产品的兼容性与相互操作性是其它公司开发出的编程语言所不及的。Microsoft开发的windows操作系统与C#之间的关系也非常紧密。从而实现了C#对Windows的无缝操作。

下面,我们就以“C#对Windows控制面板中的选项进行操作”为题讲述一下它们之间的联系。

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

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

选项  文件名

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

Internet选项:  .netcpl.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);

  }

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

2003-4-262208560.bmp" align=middle border=0>

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

源代码

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

  }

  }

  }

}

最后,由于作者水平有限,不能给大家更好的文章,在此望大家原谅。并请各位看官批评指正。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-993532/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-993532/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值