windows . current . bounds抛出HRESULT E_FAIL已经从一个COM组件调用返回

本文关键字:一个 COM 返回 调用 组件 抛出 bounds current HRESULT FAIL windows | 更新日期: 2023-09-27 17:49:35

我正在构建一个Windows通用SDK,将检索用户和设备尺寸,我试图从非XAML(或相关)类获得设备的屏幕尺寸。当试图获得边界时,我收到"HRESULT E_FAIL已从调用COM组件返回"。

var bounds = Window.Current.Bounds;

包含上述代码的我的"维度"类被实例化(通过一对父类)从App.xaml.cs文件的App方法,这是太快了,以获得当前窗口?

windows . current . bounds抛出HRESULT E_FAIL已经从一个COM组件调用返回

太快了。我不会在早期缓存数据,而是在需要时查询数据(实际上,您将需要缓存以供离调度线程使用)。对于通用应用程序,你需要处理窗口大小的变化和多个窗口。

如果你是移动专用的,你应该能够在onlaunching中获得窗口边界,但对于SDK来说,处理CoreApplication将更加透明。激活事件。你可以在App构造函数中连接这个,然后在它触发时获取窗口细节,ActivationKind告诉你这是一个窗口激活