庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>程序设计>C#语言>系统编程>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

C#调用控制面板选项

 作者:本站收集   日期:2005-8-8 9:54:35
字号选择〖 〗/ 双击滚屏 单击停止   
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);

              }

         }

     }

}
上一篇:在C#中调用Win32函数EnumWindows枚举所有窗口    下一篇:如何用C#实时获取CPU利用率  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-8-8 9:54:35
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿