需要帮助关闭控制面板

时间:2019-08-29 15:50:02

标签: c# windows registry controlpanel

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

我已经尝试使用window.close()关闭控制面板,如果系统语言为英语,该操作将起作用(我无法比较title=="Control panel",因为如果系统语言是假设为德语,那么控制面板称为“不同”),就像我在做window.title == "Control Panel"一样。这不是解决方案。我需要一种关闭它的方法,该方法将在所有系统上运行。

2 个答案:

答案 0 :(得分:0)

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

taskkill control.exe

答案 1 :(得分:-1)

您可能需要做个小魔术才能做到这一点。

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

CultureInfo.CurrentCulture

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

由于匹配后实际上关闭了控制面板,因为控制面板实际上是Explorer.exe的一部分,所以杀死它的过程会产生不良后果。但是,如果您SendKeys相当于Alt + F4到该窗口,(这可能会使用户感到难看),它将仅关闭该窗口。

这只是一个主意; WM_CLOSESendKeys的想法更好,也可能不好。