我正在尝试从C#应用程序中链接到控制面板。我正在使用visual studio进行编码,并试图找到一种方法来链接控制面板中的这两个区域。
我一直在使用System.Diagnostics.Process.Start(),但我似乎找不到一种方法来实际链接到控制面板内的任何地方,除了已经定义了applet的少数几个地方,如打印机和颜色。
如果您对如何解决这个问题有任何想法,请告诉我。
答案 0 :(得分:4)
这对我有用:
var cplPath = System.IO.Path.Combine(Environment.SystemDirectory, "control.exe");
System.Diagnostics.Process.Start(cplPath, "/name Microsoft.ProgramsAndFeatures");
您还可以指定控制面板的页面。查看Executing Control Panel Items和Canonical Names of Control Panel Items
答案 1 :(得分:1)
如果您只想启动控制面板窗口,则命令为
System.Diagnostics.Process.Start("control");
如果你想在控制面板中启动单个项目,你需要知道它的文件名(检查文件的Windows\System32
或Windows\SYSWOW64
,它们以.cpl
结尾)你然后可以像这样启动它。
System.Diagnostics.Process.Start("control", "powercfg.cpl");
答案 2 :(得分:0)
如果您输入"开始控制"或"控制"进入命令提示符,它将打开控制面板。
因此我会运行一个进程并运行它。 本规范(Bellow)对我来说非常有用:
public Form1()
{
InitializeComponent();
}
#region Variables
Process p;
#endregion Variables
[...]
void myMethod()
{
try
{
p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.Start();
p.StandardInput.WriteLine("start control");
p.StandardInput.Flush();
p.StandardInput.Close();
Console.WriteLine(p.StandardOutput.ReadToEnd());
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
}