반응형
C에서 WinRT를 사용하시겠습니까?
//BUILD를 보면서 WinRT API를 C코드로 소비할 수 있음을 알 수 있었습니다.
저는 Win32 개발자들이 이용할 수 있는 새로운 C API를 기대하고 있습니다.
C WinRT API 정보는 어디서 찾을 수 있나요?기존 Win32 C API보다 나은 점은 무엇입니까?
WinRT는 기본적으로 COM이기 때문에 C의 WinRT 컴포넌트를 사용하는 것은 C의 COM 컴포넌트를 사용하는 것과 같습니다.이전과 마찬가지로 모든 WinRT 컴포넌트의 .idl 파일 및 이러한 .idl 파일에서 생성된 .h 파일도 얻을 수 있습니다..h 파일에는 C++ 선언과 C 선언이 모두 포함되어 있습니다.#ifdef __cplusplus
(필요에 따라서).그냥 #그들을 포함시키고 해킹을 시작할 수 있습니다.
단, C++/CX와 같이 깔끔하지는 않습니다.
Windows::UI::Xaml::Controls::TextBlock^ tb = ...;
tb->Text = "Foo";
이는 바닐라 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();
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);
"C:" 내부를 살펴보세요.\Program Files (x86)\Windows 키트\8.0.idl 및 .h 파일을 표시하려면 개발자 미리보기에 \include\winrt"를 입력합니다.
언급URL : https://stackoverflow.com/questions/7436144/using-winrt-from-c
반응형
'programing' 카테고리의 다른 글
매퍼를 사용한 양방향 바인딩 계산 속성 (0) | 2022.08.28 |
---|---|
여러 Vue 애플리케이션, 단일 구성 요소 공유 (0) | 2022.08.28 |
Big Decimal equals() 대 compare To() (0) | 2022.08.28 |
2개의 java.util을 비교합니다.같은 날인지 확인하는 날짜 (0) | 2022.08.28 |
경고를 수정할 수 없습니다. 중복 키가 검색되었습니다: '0'.이로 인해 업데이트 오류가 발생할 수 있습니다. (0) | 2022.08.28 |