背景:winform程序,需要点击某个按钮时,弹出系统键盘TabTip.exe,这个键盘文件一般位于C:\Program Files\Common Files\microsoft shared\ink下面。
问题:见下图
补充:我是通过以下的代码调用键盘文件的
var commonFilesPath = Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles);
//程序集目标平台为X86时,获取到的是x86的Program Files,但TabTip.exe始终在Program Files目录下
if (commonFilesPath.Contains("Program Files (x86)"))
{
commonFilesPath = commonFilesPath.Replace("Program Files (x86)", "Program Files");
}
var tabTipPath = Path.Combine(commonFilesPath, @"microsoft shared\ink\TabTip.exe");
var processStartInfo = new ProcessStartInfo
{
FileName = tabTipPath,
UseShellExecute = true,
CreateNoWindow = true
};
Process.Start(processStartInfo);
//第一次系统软键盘启动时候,需要缓冲一下
Thread.Sleep(50);
虽然我有办法获取到这个键盘的句柄,但是尝试获取键盘里面的控件,返回却是0个元素。
所以也就无法获取“手写”控件元素
真的没有办法对这个“手写“控件进行点击操作了吗?恳求大家帮忙,感谢大家!