C# 在Windows 8(Metro)应用程序中获取输入插入符号句柄

C# 在Windows 8(Metro)应用程序中获取输入插入符号句柄,c#,windows-8,C#,Windows 8,我有一个后台进程,它通过getGuitThreadInfo()检索输入插入符号位置。以下是一个示例: NativeMethods.GUITHREADINFO threadInfo = new NativeMethods.GUITHREADINFO(); threadInfo.cbSize = Marshal.SizeOf(threadInfo) NativeMethods.GetGUIThreadInfo(threadId, ref threadInfo); IntPtr caretWindow

我有一个后台进程,它通过getGuitThreadInfo()检索输入插入符号位置。以下是一个示例:

NativeMethods.GUITHREADINFO threadInfo = new NativeMethods.GUITHREADINFO();
threadInfo.cbSize = Marshal.SizeOf(threadInfo)
NativeMethods.GetGUIThreadInfo(threadId, ref threadInfo);
IntPtr caretWindow = threadInfo.hwndCaret;
Int64 caretWindowInt = (Int64)caretWindow;
上述代码在Windows7及以下版本以及在Windows8桌面上运行的任何应用程序上都非常有效。当焦点位于Windows 8应用程序(Metro)中时,“threadInfo.hwndCaret”始终为空

有人知道为什么会发生这种情况吗?或者,有没有其他方法可以获取输入控件的窗口句柄,该控件具有Windows 8(Metro)应用程序的输入插入符号


谢谢

WinRT应用程序不使用窗口句柄。或者插入符号。那么有没有其他方法可以获取当前正在接受输入的输入控件?