问题标签 [c++-winrt]

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 投票
0 回答
376 浏览

c++-winrt - C++/WinRT 编译器找不到平台命名空间

我正在尝试cppwinrt像这样在我现有的组件上运行编译器

按照克里博客上的指示。不幸的是,我收到以下错误:

我该如何解决这个问题?

0 投票
1 回答
683 浏览

uwp - 无法激活 IDL 中定义的投影类型

我试图在 IDL 中定义一个 Windows 运行时类型,并使用它的投影类型。从默认生成的空白应用UWP 项目(称为“空白应用”)开始,我添加了“MyControl.idl”

编译解决方案,然后将MyControl.hMyControl.cppGenerated Files/sources复制到项目根目录。

我包含了投影类型的标题并将以下代码添加到App::OnLaunched

这一切都编译和链接得很好。在运行时,它会抛出一个hresult_error(0x80040154:REGDB_E_CLASSNOTREG 类未注册)。

引发异常时的调用堆栈顶部如下所示:

module.g.cpp被编译到应用程序中并包含以下代码:

很明显,我的类型没有注册以供 Windows 运行时查找,即使一切似乎都在它需要的位置。我缺少一些注册步骤吗?还是 UWP 应用程序支持这一点,而不是 Windows 运行时组件?

0 投票
1 回答
263 浏览

c# - 放入 ListView 项目

在 UWP 应用程序中,我需要在另一个中实现从 aListView到 a的拖动。ListViewItemListView

我试图简单地AllowDrop和所有其他的东西来支持拖放功能,但是这样目标ListViewItem就以灰色突出显示。

我想知道我是否需要做一些特别的事情,或者是否支持这种情况。

0 投票
1 回答
187 浏览

c++ - C++/WinRT 数据不正确的数据编组

C++/WinRT 新手,在尝试使用 C++/WinRT 导出单个 C++ 类以在 .Net 应用程序中使用时遇到一些问题。

我在 Visual Studio 2017 v15.7.4 中创建了一个 C++ Windows 运行时组件(Windows 通用)。

这是我尝试使用的 C++ 函数的签名,因为它存在于我复制到 C++/WinRT 项目中的头文件中

如果它的重要上下文,该函数将字节数组 p 作为输入,并输出从它派生的 5 个数组:pCh1、pCh2、pCh3、pCePa、pTAc。

现在在 .Net 应用程序中,我从 WinRT 声明了该类的新实例并设置了所有缓冲区,仅作为示例:

VS 告诉我这是不正确的,因为签名不匹配。检查 Carryout 函数的定义会显示(我假设是)一个自动生成的头文件(在其描述中有“来自元数据”)并且其中的 Carryout 函数的签名完全不同:

请注意,函数参数不是数组,而是 byte/ushort 类型。此外,第一个参数不应该是out类型。解决此自动生成的标头的这种差异的正确方法是什么?

我宁愿不对 C++ 代码进行任何更改:它内部具有相当复杂的数据操作,并且很容易数十年的运行时间确保它一切正常。

先感谢您!

0 投票
1 回答
159 浏览

c++-winrt - 如何从 C++/winrt 中正确线程上的视图模型对象中引发 INotifyPropertyChanged

我有一个从硬件设备读取电压和电流的非 gui 对象。当这些值更改时,对象需要更改这些属性并引发 INotifyPropertyChanged 事件。

有一个 struct winrt::resume_foreground,但是可以用来切换到正确的线程,但是构造函数需要一个 GUI 对象的引用(在示例代码中)。

捕获应该使用的正确调度程序对象的最佳方法是什么?

0 投票
0 回答
572 浏览

c++ - 如何正确调用 GetGattServicesForUuidAsync?

我很难从我的设备上获得 GATT 服务。我正在使用 Visual Studio 2017,创建一个 C++/WinRT 控制台应用程序。到目前为止,我有这个代码:

我无法让这个功能工作:

这是原型。这不是一个静态函数,这可能与这里有关。谢谢你的帮助。

0 投票
2 回答
473 浏览

c++-winrt - C++/WinRT 中的 XAML 中是否不支持 DataGrid 控件?

我在 VS 2017 v 15.7.4 中创建了一个空白通用 Windows 应用程序,但在 XAML 控件列表中没有看到 DataGrid 控件。有没有办法将数据集合作为提供 DataGrid 提供的功能的数据源来处理?

问候,胡安·登特

0 投票
2 回答
2301 浏览

c++ - C++/WinRT,Windows SDK 17134 的一部分与 Visual Studio 15.8 Preview 3 不兼容

尝试编译以下代码:

使用以下编译器选项:

使用最近发布的 Visual Studio 15.8 Preview 3.0 会导致以下编译错误:

有什么解决办法吗?

0 投票
0 回答
645 浏览

http - 如何将 C++ /WinRT HttpRequestMessage 与自定义 POST 正文和 HttpFormUrlEncodedContent 一起使用(UWP 应用程序)

在 Windows 10、1803 中,可以从符合标准的 C++ 调用 WinRT。不再需要 C++ /CX 语言扩展。

我已经知道如何使用 HttpRequestMessage 类向服务器发送发布请求:

如何使用 HttpFormUrlEncodedContent 设置自定义标题以及如何在 POST 正文中设置自定义内容?

谢谢您的帮助!

0 投票
0 回答
832 浏览

uwp - 哪些情况下可以在 UWP 上使用 CreateProcess?

我注意到 CreateProcess自版本 16299 以来就是通用 Windows 平台 API的一部分。

为了测试它,我制作了一个基于空白应用模板 (C++/WinRT) 的快速 UWP 应用,并连接了一个按钮事件处理程序来调用这段代码:

API 调用本身成功,但该过程似乎没有启动。STARTUPINFO 和 PROCESS_INFORMATION 结构确实包含新进程及其主线程的 PID 和 TID 等信息,但它没有显示在任务管理器中,也没有显示窗口(显然)。

我很确定这与安全有关,即 UWP 应用程序无法启动非 UWP 应用程序或类似的东西。但是,它在任何地方都没有记录,这就是我在这里问的原因。

有没有人知道这一点,或者微软的人可以提供更多信息吗?