Win32-додатки можуть мати декілька потоків виконання, і кожен потік можна створити windows. Потік, який створює вікно може містити код для її вікно процедури.
Заявку можна скористатися функцією EnumThreadWindows пронумерувати windows, створені конкретної ланцюжка. Ця функція проходить ручка для кожного потоку вікна, у свою чергу, визначений у застосунку зворотний виклик функції, EnumThreadWndProc.
Функція GetWindowThreadProcessId повертає ідентифікатор потоку, який створив конкретного вікна.
Щоб встановити стан показати вікно, створений іншим потоком команд, слід використовувати функцію ShowWindowAsync.