0

C# の DataTransfer::Clipboard::SetContent と同様に、ネイティブの C++ メトロ アプリでクリップボードにアクセスできるインターフェイスを探しています。

誰かが私にそれらのインターフェースを紹介してもらえますか? また、WRL ライブラリを使用してどのように行うことができますか?

4

1 に答える 1

1

WRL では、SetContent メソッドを含む IClipboardStatics インターフェイスを取得する必要があります。

#include <Windows.Foundation.h>
#include <Windows.ApplicationModel.DataTransfer.h>
#include <wrl\wrappers\corewrappers.h>
#include <wrl\client.h>

using namespace ABI::Windows::Foundation;
using namespace Microsoft::WRL;
using namespace Microsoft::WRL::Wrappers;
using namespace ABI::Windows::ApplicationModel::DataTransfer;

    // Initialize the Windows Runtime.
    RoInitializeWrapper initialize(RO_INIT_MULTITHREADED);

    if (FAILED(initialize))
    {
        cout << "Failed to initialize";
    }

    ComPtr<IClipboardStatics> clipboard;

    HRESULT hr = GetActivationFactory(HStringReference(RuntimeClass_Windows_ApplicationModel_DataTransfer_Clipboard).Get(), &clipboard);

    if (FAILED(hr))
    {
        cout << "failed to create a runtime instance";

        return 0;
    }

    ComPtr<IDataPackage> datapackage;

    // create a package and set the data
    // ...

    clipboard->SetContent(datapackage.Get());
于 2015-08-17T10:49:02.790 に答える