Windows Runtime Cpp Windowsランタイムテンプレートライブラリ 新しいページはコチラ
提供: yonewiki
(→初期化 RoInitializeWrappers obj()) |
(→初期化 RoInitializeWrappers obj()) |
||
| 37行: | 37行: | ||
| + | |||
| + | _wsystem(L"pause"); | ||
| + | return 0; | ||
| + | |||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | 実行結果 | ||
| + | WRLの初期化に成功しました。 | ||
| + | 続行するには何かキーを押してください . . . | ||
| + | |||
| + | |||
| + | == '''文字列 HString''' == | ||
| + | HSTRINGと非常に似ているHString型が利用できます。何が違うかというと、大文字と小文字の差であることとWRL(テンプレートライブラリのオブジェクト)であることとメソッドの名前が少し違うことや引数の取り方が違うことなのかもしれません。まずは基本的なHStringの使い方のサンプルを示します。HStirngオブジェクトのメソッドSetやGetRawBufferについては後述したいと思います。 | ||
| + | |||
| + | *'''HString obj''' | ||
| + | 通常は上記のようなHStringオブジェクトの生成処理によって初期化ができます。 | ||
| + | |||
| + | <syntaxhighlight lang="cpp" line start="1"> | ||
| + | #include <locale.h> | ||
| + | #include <wchar.h> | ||
| + | #include <stdio.h> | ||
| + | #include <crtdbg.h> | ||
| + | #include <roapi.h> | ||
| + | |||
| + | #include <wrl/client.h> | ||
| + | #include <wrl/wrappers/corewrappers.h> | ||
| + | |||
| + | using namespace Microsoft::WRL::Wrappers; | ||
| + | |||
| + | |||
| + | int main() | ||
| + | { | ||
| + | HRESULT HRESULT_Hr; | ||
| + | setlocale(LC_ALL, ""); | ||
| + | |||
| + | RoInitializeWrapper initialize(RO_INIT_TYPE::RO_INIT_MULTITHREADED); | ||
| + | if (FAILED(initialize)) { wprintf(L"WRLの初期化に失敗しました。\n"); } | ||
| + | else { wprintf(L"WRLの初期化に成功しました。\n"); } | ||
| + | |||
| + | HString HString_Str; | ||
| + | HRESULT_Hr = HString_Str.Set(L"ワイド文字列HStringオブジェクト"); | ||
| + | if (FAILED(HRESULT_Hr)) { | ||
| + | wprintf_s(L"HStringオブジェクトの設定に失敗しました。\n"); | ||
| + | _CrtDbgBreak(); | ||
| + | return 0; | ||
| + | } | ||
| + | else { | ||
| + | wprintf_s(L"HStringオブジェクトの設定に成功しました。\n"); | ||
| + | } | ||
| + | |||
| + | wprintf_s(L"HString HString_Str=%s\n",HString_Str.GetRawBuffer(nullptr)); | ||
_wsystem(L"pause"); | _wsystem(L"pause"); | ||