C#调用控制面板选项

转载 2005年05月26日 17:30:00
C#调用控制面板选项
(加入日期:2003-5-16 点击数:2146)
【对此文发表评论】 【编程爱好者论坛】 【保存文章至硬盘】  【打印文章】
[被屏蔽广告]
C#是一门由Microsoft新推出的开发语言,它是基于Microsoft的.NET Framework平台基础上的新兴的开发工具。

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

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

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

              }

         }

     }

}


本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( ProgramFan.Com )

该文件没有程序与之关联来执行该操作。请在控制面板的文件夹选项中创建关联 解决代码

打开控制面板-文件夹选项,或者打开任意一个文件夹,在菜单栏--工具--文件夹选项 1、切换到文件类型选项卡,在以注册的文件类型中找到要打开的文件类型 2、选中后点击下面的“高级”按扭 3、在...

C#把自写的卸载程序添加到控制面板的添加删除程序目录中

在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下面创建子键,键值DisplayName是软件名称,Uni...

Window系统命令行调用控制面板程序

从网络收集的在Windows 7下可以使用的各个命令语句:   control.exe /name microsoft.folderoptions 启动资源管理器的 文件夹属性 选项卡 contro...

C# WINCE 控制面板

  • 2015年12月30日 09:07
  • 46KB
  • 下载

用脚本实现对WINCE控制面板功能的直接调用* B

控制面板其实也是个动态链接库,区别只在于后缀名为.cpl 如何调用.cpl7 /2 就像PC机中.dll文件不能直接运行,需要借助rundll32.exe来运行一样,WinCE下的.cpl也需要相...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#调用控制面板选项
举报原因:
原因补充:

(最多只允许输入30个字)