And*_*rew 48 c winapi visual-studio windows-runtime
看着// BUILD的东西,我看到C代码可以使用WinRT API:

我对Win32开发人员可用的新C API感到非常兴奋.
在哪里可以找到有关C WinRT API的信息?它如何比现有的Win32 C API更好?
Pav*_*aev 69
WinRT基本上是COM,因此使用C语言中的WinRT组件就像使用C语言中的COM组件一样.之前,您可以获得所有WinRT组件的.idl文件,以及从这些.idl文件生成的.h文件..h文件包括C++和C声明(#ifdef __cplusplus根据需要包装).你可以#include他们并开始乱砍.
但是,它不是很整洁,例如像C++/CX这样的东西:
Windows::UI::Xaml::Controls::TextBlock^ tb = ...;
tb->Text = "Foo";
Run Code Online (Sandbox Code Playgroud)
这相当于这个香草C++:
Windows::UI::Xaml::Controls::ITextBlock* tb = ...;
HSTRING hs;
HRESULT hr = WindowsStringCreate(L"Foo", 3, &hs);
// check hr for errors
hr = tb->set_Text(hs);
// check hr for errors
tb->Release();
Run Code Online (Sandbox Code Playgroud)
将用C语写成:
__x_Windows_CUI_CXaml_CControls_CITextBlock* tb = ...;
HRESULT hr;
HSTRING hs;
hr = WindowsCreateString(L"Foo", 3, &hs);
// check hr for errors
hr = __x_Windows_CUI_CXaml_CControls_CITextBlock_put_Text(tb, hs);
// check hr for errors
IUnknown_Release(tb);
Run Code Online (Sandbox Code Playgroud)
在Developer Preview中查看"C:\ Program Files(x86)\ Windows Kits\8.0\Include\winrt"以查看.idl和.h文件.
| 归档时间: |
|
| 查看次数: |
11575 次 |
| 最近记录: |