C# 需要帮助关闭控制面板吗

C# 需要帮助关闭控制面板吗,c#,windows,registry,controlpanel,C#,Windows,Registry,Controlpanel,因为我正在执行某些任务,如果控制面板打开,则需要将其关闭。杀死资源管理器不是我正在寻找的解决方案,因为它也会关闭文件资源管理器。我需要一个通用的解决方案,将工作在不同的系统语言。如果解决方案是c#代码,则会有所帮助 我已经尝试过使用window.close()关闭控制面板,如果系统语言为英语(我无法比较title==“control panel”,因为如果系统语言假设为德语,那么控制面板将被称为其他语言),我正在做的window.title==“控制面板”。这不是一个解决办法。我需要某种方法来关

因为我正在执行某些任务,如果控制面板打开,则需要将其关闭。杀死资源管理器不是我正在寻找的解决方案,因为它也会关闭文件资源管理器。我需要一个通用的解决方案,将工作在不同的系统语言。如果解决方案是c#代码,则会有所帮助


我已经尝试过使用
window.close()
关闭控制面板,如果系统语言为英语(我无法比较
title==“control panel”
,因为如果系统语言假设为德语,那么控制面板将被称为其他语言),我正在做的
window.title==“控制面板”
。这不是一个解决办法。我需要某种方法来关闭它,它将在所有系统上运行。

您可能需要使用lil魔术来完成此操作

您可能需要首先检查系统语言:

CultureInfo.CurrentCulture

并在集合中保留与所有(或最有可能的)语言中的“控制面板”匹配的字符串列表,然后对匹配语言中的窗口标题进行比较

由于控制面板实际上是Explorer.exe的一部分,因此在匹配后关闭控制面板,终止它的进程将产生不希望的后果。但是,(这对用户来说可能有点难看)如果您将相当于
Alt+F4
SendKeys
发送到该窗口,它将只关闭该窗口


这只是一个想法
WM_CLOSE
可能也可能不起作用,而不是
SendKeys
想法。

尝试使用shell运行命令行,例如:

taskkill control.exe