window-helpers.h 828 B

1234567891011121314151617181920212223242526272829303132333435
  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. typedef bool (*add_window_cb)(const char *title, const char *class,
  16. const char *exe);
  17. extern void fill_window_list(obs_property_t *p, enum window_search_mode mode,
  18. add_window_cb callback);
  19. extern void build_window_strings(const char *str,
  20. char **class,
  21. char **title,
  22. char **exe);
  23. extern HWND find_window(enum window_search_mode mode,
  24. enum window_priority priority,
  25. const char *class,
  26. const char *title,
  27. const char *exe);