| 123456789101112131415161718192021222324 |
- #pragma once
- #include <guiddef.h>
- #include <winrt/Windows.Graphics.Capture.h>
- #include <windows.graphics.capture.interop.h>
- #include <windows.graphics.capture.h>
- inline auto CreateCaptureItemForWindow(HWND hwnd)
- {
- auto activation_factory = winrt::get_activation_factory<winrt::Windows::Graphics::Capture::GraphicsCaptureItem>();
- auto interop_factory = activation_factory.as<IGraphicsCaptureItemInterop>();
- winrt::Windows::Graphics::Capture::GraphicsCaptureItem item = {nullptr};
- interop_factory->CreateForWindow(hwnd, winrt::guid_of<ABI::Windows::Graphics::Capture::IGraphicsCaptureItem>(), reinterpret_cast<void**>(winrt::put_abi(item)));
- return item;
- }
- inline auto CreateCaptureItemForMonitor(HMONITOR monitor)
- {
- auto activation_factory = winrt::get_activation_factory<winrt::Windows::Graphics::Capture::GraphicsCaptureItem>();
- auto interop_factory = activation_factory.as<IGraphicsCaptureItemInterop>();
- winrt::Windows::Graphics::Capture::GraphicsCaptureItem item = {nullptr};
- interop_factory->CreateForMonitor(monitor, winrt::guid_of<ABI::Windows::Graphics::Capture::IGraphicsCaptureItem>(), reinterpret_cast<void**>(winrt::put_abi(item)));
- return item;
- }
|