问题标签 [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.
uwp - 无法激活 IDL 中定义的投影类型
我试图在 IDL 中定义一个 Windows 运行时类型,并使用它的投影类型。从默认生成的空白应用UWP 项目(称为“空白应用”)开始,我添加了“MyControl.idl”:
编译解决方案,然后将MyControl.h和MyControl.cpp从Generated Files/sources复制到项目根目录。
我包含了投影类型的标题并将以下代码添加到App::OnLaunched
:
这一切都编译和链接得很好。在运行时,它会抛出一个hresult_error
(0x80040154:REGDB_E_CLASSNOTREG 类未注册)。
引发异常时的调用堆栈顶部如下所示:
module.g.cpp被编译到应用程序中并包含以下代码:
很明显,我的类型没有注册以供 Windows 运行时查找,即使一切似乎都在它需要的位置。我缺少一些注册步骤吗?还是 UWP 应用程序支持这一点,而不是 Windows 运行时组件?
c# - 放入 ListView 项目
在 UWP 应用程序中,我需要在另一个中实现从 aListView
到 a的拖动。ListViewItem
ListView
我试图简单地AllowDrop
和所有其他的东西来支持拖放功能,但是这样目标ListViewItem
就以灰色突出显示。
我想知道我是否需要做一些特别的事情,或者是否支持这种情况。
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++ 代码进行任何更改:它内部具有相当复杂的数据操作,并且很容易数十年的运行时间确保它一切正常。
先感谢您!
c++-winrt - 如何从 C++/winrt 中正确线程上的视图模型对象中引发 INotifyPropertyChanged
我有一个从硬件设备读取电压和电流的非 gui 对象。当这些值更改时,对象需要更改这些属性并引发 INotifyPropertyChanged 事件。
有一个 struct winrt::resume_foreground,但是可以用来切换到正确的线程,但是构造函数需要一个 GUI 对象的引用(在示例代码中)。
捕获应该使用的正确调度程序对象的最佳方法是什么?
c++ - 如何正确调用 GetGattServicesForUuidAsync?
我很难从我的设备上获得 GATT 服务。我正在使用 Visual Studio 2017,创建一个 C++/WinRT 控制台应用程序。到目前为止,我有这个代码:
我无法让这个功能工作:
这是原型。这不是一个静态函数,这可能与这里有关。谢谢你的帮助。
c++-winrt - C++/WinRT 中的 XAML 中是否不支持 DataGrid 控件?
我在 VS 2017 v 15.7.4 中创建了一个空白通用 Windows 应用程序,但在 XAML 控件列表中没有看到 DataGrid 控件。有没有办法将数据集合作为提供 DataGrid 提供的功能的数据源来处理?
问候,胡安·登特
c++ - C++/WinRT,Windows SDK 17134 的一部分与 Visual Studio 15.8 Preview 3 不兼容
尝试编译以下代码:
使用以下编译器选项:
使用最近发布的 Visual Studio 15.8 Preview 3.0 会导致以下编译错误:
有什么解决办法吗?
http - 如何将 C++ /WinRT HttpRequestMessage 与自定义 POST 正文和 HttpFormUrlEncodedContent 一起使用(UWP 应用程序)
在 Windows 10、1803 中,可以从符合标准的 C++ 调用 WinRT。不再需要 C++ /CX 语言扩展。
我已经知道如何使用 HttpRequestMessage 类向服务器发送发布请求:
如何使用 HttpFormUrlEncodedContent 设置自定义标题以及如何在 POST 正文中设置自定义内容?
谢谢您的帮助!
uwp - 哪些情况下可以在 UWP 上使用 CreateProcess?
我注意到 CreateProcess自版本 16299 以来就是通用 Windows 平台 API的一部分。
为了测试它,我制作了一个基于空白应用模板 (C++/WinRT) 的快速 UWP 应用,并连接了一个按钮事件处理程序来调用这段代码:
API 调用本身成功,但该过程似乎没有启动。STARTUPINFO 和 PROCESS_INFORMATION 结构确实包含新进程及其主线程的 PID 和 TID 等信息,但它没有显示在任务管理器中,也没有显示窗口(显然)。
我很确定这与安全有关,即 UWP 应用程序无法启动非 UWP 应用程序或类似的东西。但是,它在任何地方都没有记录,这就是我在这里问的原因。
有没有人知道这一点,或者微软的人可以提供更多信息吗?