0

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

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方法不会退出。可能是因为对话框窗口不再具有名称“键盘属性”。你们有什么建议?我应该如何处理这个问题,以便我能够打开键盘属性对话框,无论系统的语言是什么。

4

1 回答 1

1

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

control.exe keyboard

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

于 2017-09-18T16:42:21.793 回答