window-helpers.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include <util/dstr.h>
  3. enum window_priority {
  4. WINDOW_PRIORITY_CLASS,
  5. WINDOW_PRIORITY_TITLE,
  6. WINDOW_PRIORITY_EXE,
  7. };
  8. enum window_search_mode {
  9. INCLUDE_MINIMIZED,
  10. EXCLUDE_MINIMIZED,
  11. };
  12. extern bool get_window_exe(struct dstr *name, HWND window);
  13. extern void get_window_title(struct dstr *name, HWND hwnd);
  14. extern void get_window_class(struct dstr *class, HWND hwnd);
  15. extern bool is_uwp_window(HWND hwnd);
  16. extern HWND get_uwp_actual_window(HWND parent);
  17. typedef bool (*add_window_cb)(const char *title, const char *class,
  18. const char *exe);
  19. extern void fill_window_list(obs_property_t *p, enum window_search_mode mode,
  20. add_window_cb callback);
  21. extern void build_window_strings(const char *str, char **class, char **title,
  22. char **exe);
  23. extern HWND find_window(enum window_search_mode mode,
  24. enum window_priority priority, const char *class,
  25. const char *title, const char *exe);
  26. extern HWND find_window_top_level(enum window_search_mode mode,
  27. enum window_priority priority,
  28. const char *class, const char *title,
  29. const char *exe);