问题标签 [wrl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1399 浏览

c++ - ComPtr 与 CComPtr,As 与 QueryInterface

我只想知道和之间的确切区别ComPtrCComPtr以及是否ComPtr::As()是类似的CComPtr::QueryInterface()?我阅读了两者的文档,但这个问题没有明确的答案......

0 投票
0 回答
129 浏览

winapi - 如何将包含 ComPtr 值的类插入到 container in C++?

这是我要插入的类。它有构造函数初始化'm_bitmap'。事实上,初始化 m_bitmap 不会导致问题。我插入细节。

它是构造函数

然后我将它插入到地图容器中

问题发生在这里,两行代码由于相同的原因没有工作。

抛出异常:读取访问冲突。_Scary 是 nullptr。

0 投票
1 回答
90 浏览

c++ - WRL/C++ 检测同时按下的多个鼠标按钮

我在 C++ 中针对 UWP 的 Windows WRL 进行编码,我需要处理鼠标输入,有时包括同时按下的左/右按钮。

我的代码只接收第一个鼠标按钮按下和最后一个鼠标按钮释放的事件。因此,如果我按下右按钮,然后按下左按钮,则不会为左按钮触发 PointerPressed。同样,如果我释放右键然后释放左键,则不会为右键触发 PointerReleased。我订阅的事件如下:

请让我知道我的代码是否需要在按钮按下/释放之间重置某些内容,或者我是否应该订阅其他一些事件。

谢谢

0 投票
1 回答
114 浏览

c++ - 删除智能指针

我正在为 CLR 项目测试一些代码示例。如果不使用智能指针,这段代码等效于什么?

我尝试过这样的事情,但我不确定它是否可以。

0 投票
0 回答
30 浏览

visual-c++ - 将位图添加到 Windows 运行时剪贴板

我正在开发一个 C++ 应用程序,我需要能够将位图添加到 Windows 运行时剪贴板。我的选择是使用 WRL 或 WinRT,所以我选择了 WRL,因为它似乎有(稍微)更多的文档。经过一番摆弄,我有一些代码可以将文本添加到剪贴板:

然而,事实证明添加位图要困难得多。我花了很多时间查看源代码、阅读文档和编写测试代码,最终得到以下结果(注意我从 HD 中读取了一个 BMP 文件用于测试目的):

所有 WRL 函数都返回 S_OK 但剪贴板中实际上没有出现任何内容。当 IRandomAccessStreamReference 超出范围时,我确实得到了一个异常,所以这可能是一个线索。

关于我做错了什么的任何线索?这是我第一次使用 Windows 运行时,老实说,我发现使用它非常令人沮丧。

0 投票
1 回答
47 浏览

c++ - 使用 ID2D1Device3 的 direct2d 快速入门

本教程是否有在任何地方使用 ID2D1Device3 的版本?只是换掉所有指针类型似乎不起作用

https://docs.microsoft.com/en-us/windows/win32/direct2d/direct2d-quickstart-with-device-context?redirectedfrom=MSDN 由于参数列表不匹配,此尝试在工厂失败-> CreateDevice:

0 投票
0 回答
39 浏览

c++ - 如何在 WRL 中表达 winrt::hresult 错误

好吧,当我处理 WGC 问题时,由于 API 抛出 winrt::hresult_error,CreateForWindow 崩溃。但是由于项目仍然使用 C++ 11,我不能使用 winrt(是的,我的 WGC 是用 WRL 实现的)。到目前为止,我正在使用

,但我无法得到 hresult 的详细内容。有什么办法可以解决吗?