/ src / modules / ShortcutGuide / ShortcutGuide / tasklist_positions.h
tasklist_positions.h
 1  #pragma once
 2  #include <vector>
 3  #include <unordered_set>
 4  #include <string>
 5  #include <Windows.h>
 6  #include <UIAutomationClient.h>
 7  
 8  struct TasklistButton
 9  {
10      std::wstring name;
11      long x{};
12      long y{};
13      long width{};
14      long height{};
15      long keynum{};
16  };
17  
18  class Tasklist
19  {
20  public:
21      void update();
22      std::vector<TasklistButton> get_buttons();
23      bool update_buttons(std::vector<TasklistButton>& buttons);
24  
25  private:
26      winrt::com_ptr<IUIAutomation> automation;
27      winrt::com_ptr<IUIAutomationElement> element;
28      winrt::com_ptr<IUIAutomationCondition> true_condition;
29  };