在本地化系统中打开键盘属性对话框

时间:2017-09-18 14:27:11

标签: c# controlpanel control-panel

我有以下代码,当用户点击按钮时,它会打开键盘属性对话框:

Process proc = new Process();
proc.EnableRaisingEvents = true;
proc.StartInfo.UseShellExecute = true;
proc.StartInfo.FileName = "main.cpl";
proc.StartInfo.Arguments = "keyboard";
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
proc.Start();
proc.WaitForExit();
int keyBoardWindow;
while ((keyBoardWindow = FindWindow(null, "Keyboard Properties")) == 0) ;
int isSet = SetForegroundWindow(keyBoardWindow);

当您的系统的默认语言是英语时,此代码可以正常工作,如果是其他语言(例如中文),则FindWindow方法不会退出。可能是因为对话框窗口不再具有名称“键盘属性”。你们的人建议什么?我应该如何处理这个问题,这样我就可以打开键盘属性对话框,无论系统语言如何。

1 个答案:

答案 0 :(得分:1)

如上所述in MSDN,您应该使用以下命令打开控制面板的键盘属性窗口:

control.exe keyboard

您可以在那里找到其他命令,例如鼠标字体设置。

相关问题