1
对话框我有下面的代码将打开当过用户点击一个按钮,键盘属性对话框:打开键盘性能的本地化系统
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
方法不会退出。可能是因为对话窗口没有名称“键盘属性”了。你有什么建议?我应该如何处理,以便能够打开键盘属性对话框,无论系统的语言如何。
为什么要手动搜索窗口?您只需调用'control.exe键盘'键盘属性窗口即可自动显示为前景窗口。 – dymanoid
@dymanoid,如果我评论最后三行,我可以在英语系统中显示属性窗口,但是同样的东西不适用于中文,窗口不显示,您认为可能是什么问题。 – Sameed
刚刚在日文Win 7上测试过,'control.exe键盘'工作得很好。使用它而不是'main.cpl'。 – dymanoid