因为我正在执行某些任务,所以如果控制面板处于打开状态,则需要将其关闭。杀死资源管理器不是我正在寻找的解决方案,因为它也关闭了文件资源管理器。我需要一个通用的解决方案,可以在不同的系统语言中工作。如果解决方案是c#代码,将有帮助。
我已经尝试使用window.close()
关闭控制面板,如果系统语言为英语,该操作将起作用(我无法比较title=="Control panel"
,因为如果系统语言是假设为德语,那么控制面板称为“不同”),就像我在做window.title == "Control Panel"
一样。这不是解决方案。我需要一种关闭它的方法,该方法将在所有系统上运行。
答案 0 :(得分:0)
尝试使用Shell运行命令行,例如:
taskkill control.exe
答案 1 :(得分:-1)
您可能需要做个小魔术才能做到这一点。
您可能需要先检查系统语言:
CultureInfo.CurrentCulture
并在集合中保留与所有(或最可能的)语言中的“控制面板”相匹配的字符串列表,然后对匹配语言中的窗口标题进行比较。
由于匹配后实际上关闭了控制面板,因为控制面板实际上是Explorer.exe的一部分,所以杀死它的过程会产生不良后果。但是,如果您SendKeys
相当于Alt + F4
到该窗口,(这可能会使用户感到难看),它将仅关闭该窗口。
这只是一个主意; WM_CLOSE
比SendKeys
的想法更好,也可能不好。