Иван Денисов писал(а):
Пишу тут на форуме с расчетом на то, что опыт есть у всех. Какие проблемы у кого были без Services.Actions?
Пользуюсь Total Commander. Иногда при запуске программы или открытии файла Total Commander "подвисает" на то время, пока раскручивается диск, идёт доступ в сеть или ещё что-то подобное происходит.
Чтобы избежать такой проблемы, т.е. чтобы задержка запуска стороннего приложения не тормозила родительский процесс, достаточно вынести команду запуска (будь то вызов CreateProcess или что-то другое) в отдельный тред. Тогда все тормоза достанутся тому треду, а UI основного приложения останется отзывчивым, и можно будет делать что-то дальше, пока документ открывается или процесс запускается в фоне.
В BlackBox Services.Action выполняется в том же треде, что и всё остальное, поэтому не является полноценным решением. Лучше было бы запускать отдельный тред наподобие KeyboardWatcher, единственной работой которого был бы вызов CreateProcess с нужными параметрами, после чего тред бы завершался.