ТО ЧТО НУЖНО СДЕЛАТЬ Легенда: "-" нужно сделать "?" возможно нужно - internal auditor на соответствие имени и IP - добавить к списку компьютеров дополнительную структуру данных для хранения IP адреса, для уменьшения gethostbyname() использования/трафика указатель на структуру сохраняется в TTreeNode->Data (освобождать в деструкторе если надо) - autocomplete of computername/username в поле ввода сообщения ( WANT TABS !!! ) - в стиль логирования, добавить обновление даты - переписать gethostbyname для использования асинхронной WSAAsyncGetHostByName - автоматическую проверку на новую версию!! переработать проверку, сделать загрузку своими силами, с перезапуском. так как файл блокируется, то сначала переименовываем его, закачиваем новую версию, и перезапускаемся. - надо выбор сделать в настройках - отправлять сообщения по CTRL+entr или only enter - нужна переработанная настройка конфигурации - в поле ввода сообщения доступ к старым отправленным сообщениям ? клавиатура Alt-стрелки . например alt-влево/вправо - переключение табов alt-вверх/вних - проход по списку компьютеров - вынести проверку уже занятого mailslot'a в project.cpp. реализовать так же как и проверку запуска второй копии. (с первого раза, используя handle от form1, сделать не удалось, надо пробовать создавать тестовый mailslot и через него делать проверку) - делать активным первую копию программы при запуске второй и последующим ее (второй) завершением. вместо того что она сейчас показывает MessageBox("Уже запущено"). Делать через SendMessage() ? - поддержку смайликов, как в DMESS