如何以编程方式打开控制面板?
答
Vista中增加了对规范名称支持,所以您不必硬编码的DLL文件名和标签指数法
例如: WinExec(“%systemroot%\ system32 \ control.exe/name Microsoft.WindowsUpdate”,SW_NORMAL);
(名称始终为英文)
的列表,请参阅MSDN
XP/2000支持“CONTROL.EXE鼠标”和其他几个关键字,看到相同的MSDN页面列表(您可以通过在control.exe上运行字符串来找到一些未公开的文件)
答
由于我没有在这里SO找到一个很好的答案,这是我研究的解决方案:
- 启动得到控制面板作为其第一个参数的名称的新应用程序“控制”:
::ShellExecute(m_hWnd, NULL, _T("control.exe"), _T("access.cpl"), NULL, SW_SHOW);
答
Step1: 从机器读取系统目录。 第二步:正如我在另一个问题,前面提到的 使用过程中启动ControlPanel控制
**Process.Start(System.Environment.SystemDirectory + @"\appwiz.cpl");**
答
:
如果你输入“启动控制”或“控制”到命令提示符就会打开控制面板。
因此,只需运行一个进程。
代码(波纹管)完美地工作对我来说:
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); }
}
答
只是用这个....
ProcessStartInfo startInfo = new ProcessStartInfo("appwiz.cpl");
startInfo.UseShellExecute = true;
Process.Start(startInfo);
为什么社会维基? – 2009-02-12 12:58:09