тогда алгоритм такой.
1. делается список (массив) из содержимого целевой папки (1800 exe'шников)
2.1 запускается первая программа из списка, ловится окно, считывается заголовок в новый массив
2.2 запускается вторая, считывается заголовок в новый массив
...
2.1800 запускается 1800-ая, считывается заголовок в новый массив
3. из элементов массива с заголовками парсится нужная строка вида
Код:

порядковый_номер заголовок_окна название_приложения
только есть одно но - это займет неимоверно кучу времени. а если это установщики собранные для msiexec.exe, которые не дает запускать несколько копий одновременно, то еще больше.