小编Seb*_*Kun的帖子

如何从 CoreWindow 获取 ICoreWindowInterop

我有一个 C++/WinRT/UWP 项目。我需要 HWND 和 HINSTANCE 才能正确初始化直接输入,否则 DirectInput 只能枚举键盘和鼠标,而不是操纵杆。不要问我为什么,我什至尝试从 HInstance 中获取 TopMostWindow GetModule,从我的 C++/WinRT/UWP 应用程序运行时它仅返回 NULL,但从控制台应用程序运行时有效。

文档https://learn.microsoft.com/en-us/windows/win32/api/corewindow/nn-corewindow-icorewindowinterop 我不知道如何将我的 CoreWindow 转换为 ICoreWindowInterop。CComPtr 不可用,并且在 C++/WinRT 中不可用,与 IUnkwnown 冲突。

在方法 App::OnLaunched(LaunchActivatedEventArgs const& e) 中,我得到这样的当前窗口

CoreWindow w = Window::Current().CoreWindow().GetForCurrentThread();

然后我不知道如何从中获取ICoreWindowInterop。CoreWindow 是一个 ICoreWindow ,但我在 Microsoft 文档中没有看到任何解释:/

我尝试强制转换并重新解释强制转换,但没有成功(编译错误)。我不是 COM/Windows 专家,所以我现在很迷茫。

感谢您的帮助干杯,Seb

uwp c++-winrt

1
推荐指数
1
解决办法
1577
查看次数

标签 统计

c++-winrt ×1

uwp ×1