C#调用控制面板选项

C#调用控制面板选项


作者:unknown&;nbsp来自:网络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);



              }



        }



    }



}  (2005-7-26:09:29)

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [C#] 的这些文章也感兴趣:

WinForm:应用程序设置(Application Settings)的应用
利用C#编写一个简单的抓网页应用程序
C#中一些字符串操作的常用用法
.NET中的Exception处理(C#)
C#下实现动态系统托盘图标
如何杀死Word,Excel等进程?
c#中使用多线程
在VisualC#中访问不同数据库(4)
C#与JAVA之比较(1)
C# 实现屏幕键盘 (ScreenKeyboard)