{"url":"https://potisan-programming-memo.hatenablog.jp/entry/2022/08/06/183000","title":"C++20&Win API&WIL IUIAutomationElement\u3092\u5217\u6319\u3059\u308b","provider_url":"https://hatena.blog","published":"2022-08-06 18:30:00","author_url":"https://blog.hatena.ne.jp/potisan/","type":"rich","description":"COM\u3068WIL\u3092\u4f7f\u3063\u3066IUIAutomationElement\u3092\u5217\u6319\u3059\u308b\u30b3\u30fc\u30c9\u3067\u3059\u3002 \u5b9f\u884c\u4f8b\uff08ExplorerPatcher\u8d77\u52d5\u4e2d\uff09 Source.cpp #include <format> #include <iostream> #include \"string_util.hpp\" #define STRICT #define NOMINMAX #include <Windows.h> #include <UIAutomation.h> #include \"stl_win.hpp\" #include \"wil/com.h\" int main() { std::wcout.imbue(std:\u2026","image_url":"https://cdn-ak.f.st-hatena.com/images/fotolife/p/potisan/20240405/20240405203959.png","height":"190","author_name":"potisan","provider_name":"Hatena Blog","blog_url":"https://potisan-programming-memo.hatenablog.jp/","categories":["C++","WIL","Windows"],"blog_title":"potisan\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30e1\u30e2","width":"100%","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fpotisan-programming-memo.hatenablog.jp%2Fentry%2F2022%2F08%2F06%2F183000\" title=\"C++20&amp;Win API&amp;WIL IUIAutomationElement\u3092\u5217\u6319\u3059\u308b - potisan\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30e1\u30e2\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","version":"1.0"}