因为C#是由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#调用控制面板选项相关推荐

  1. WINCE6.0在应用程序中调用控制面板的应用

    ********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...

  2. 在Delphi程序中调用控制面板设置功能

    ====================================================== 注:本文源代码点此下载 ================================= ...

  3. WIN7下通过命令调用“控制面板项” /   RUNDLL32详解 / CPL文件详解

    CPL文件 CPL文件,又叫控制面板项(Control Panel Item),多保存于系统安装目录的system32文件夹下,它们分别对应着控制面板中的项目,普通用户的访问受到限制.它可由shell ...

  4. 用批处理命令打开控制面板选项

    平时安装系统的时候总是得老老实实的打开控制面板,然后一项一项的开打进行设置,有点儿烦了,而且很容易落下一个二个没有设置的.下面的批处理命令是顺序打开控制面板中相关选项,把这些内容复制到文本文件中保存为 ...

  5. xui和嘟嘟桌面哪个好_Window10中我的电脑和控制面板选项在桌面木有咋把它给整到电脑桌面上来呢...

    有时我们需要打开我的电脑和控制面板进行相应的设置,可有时我们手残把他们的桌面快捷方式给删除了,在桌面上怎么也找不到,下面说下如何把它们调到桌面上来: 1.右键Windows10左下角的图标,选择设置选 ...

  6. unslider调用配置选项

    使用 CSS 美化外观: .banner { position: relative; overflow: auto; }    .banner li { list-style: none; }     ...

  7. [知识库分享系列] 二、.NET(ASP.NET)

    最近时间又有了新的想法,当我用新的眼光在整理一些很老的知识库时,发现很多东西都已经过时,或者是很基础很零碎的知识点.如果分享出去大家不看倒好,更担心的是会误人子弟,但为了保证此系列的完整,还是选择分享 ...

  8. 台式计算机控制面板里没有无线网络,为何台式电脑里没有无线wifi这一选项

    呀,宽带连接和无线连接是不相关的.之前二者均可以连的windows键+R,输入 services.msc,在里面查找Network 开头的服务是否都启动,如果没有启动,点右键启动1.鼠标点击" ...

  9. 9.11 strace:跟踪进程的系统调用 、ltrace:跟踪进程调用库函数

    strace 是Linux环境下的一款程序调试工具,用于检查一个应用程序所使用的系统调用以及它所接收的系统信息.strace会追踪程序运行时的整个生命周期,输出每一个系统调用的名字.参数.返回值和执行 ...

最新文章

  1. 深度学习调参体验(一)
  2. Kubernetes集群安全概述
  3. mysql创建的是拉丁_将MySQL数据库从拉丁转换为UTF-8
  4. 搜狐-新闻页 粗略整理-自我学习
  5. 动态内存分配(c++)
  6. python滑动验证_Python实现图片滑动式验证识别方法
  7. EWSA1.50.0.298栈溢出错误
  8. ffmpeg MP3转wav
  9. nodejs 加密压缩文件,解密解压文件
  10. 微信客户管理方式及如何微信客户管理
  11. 超市管理系统-1(JavaSwing和Oracle数据库)
  12. SpringCloud服务之间调用,报异常Method has too many Body parameters: public abstract
  13. 【bzoj 2844】: albus就是要第一个出场
  14. python自学做题记录之找数字
  15. 【币圈小试牛刀】期现套利(上)——期限套利原理
  16. [转]联想Y450笔记本Gentoo下配置无线网卡问题
  17. C和指针Pointers On C电子书pdf下载
  18. 【数字图像处理】期末复习提纲
  19. 马蜂窝实时计算平台演进之路
  20. seo日常工作表_谷歌SEO优化工具大全

热门文章

  1. java web开发周志_javaweb学习笔记及周报告
  2. 物体识别算法——SIFT/SURF、haar特征、广义hough变换的对比分析
  3. 深入理解 wpa_supplicant(一)
  4. Udacity机器人软件工程师课程笔记(十四)-运动学-正向运动学和反向运动学(其一)
  5. Udacity机器人软件工程师课程笔记(四)-样本搜索和找回-基于漫游者号模拟器-决策树
  6. 【记录】入选《开发工具领域内容榜》第6名
  7. 【骚气的动效】外发光涟漪波纹动画、向外辐射动画效果,通常用于地图上面某一个扩散点效果
  8. UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
  9. linux进程间通信:POSIX 消息队列
  10. C++多线程:thread类创建线程的多种方式