2016-11-15 3 views
0

Наше приложение поддерживает DDE. Он действует как сервер. Он имеет свой собственный тип файла и предлагает команду «Открыть».DDE и время инициализации приложения

При запуске приложения щелкните правой кнопкой мыши по сохраненному файлу (т.е. читайте HKEY_CLASSES_ROOT ----- \ shell и т. Д.), Мы иногда получаем «возникла проблема с отправкой команды в программу». Особенно win10.

На проблемных ПК мы тестируем скрипт VBA, который запускает наш exe, ждет секунду, а затем отправляет команды DDE. Это хорошо работает.

В заключение мы нуждаемся в паузе или увеличении таймаута в сеансе DDE.

Можно ли это сделать? Есть ли глобально эффективная настройка реестра? Любые идеи?

ответ

0

Нет, вы не можете приостановить или увеличить тайм-аут DDE.

Вместо этого вы должны посмотреть на возможные проблемы с вашим приложением. Вероятно, ваша программа начнет накачивать сообщения до запуска и запуска DDE-сервера. Как только вы начнете обрабатывать сообщения, Windows предполагает, что ваш сервер DDE запущен. Таким образом, он отправляет вам сообщение, но ваш сервер еще не получил его. Убедитесь, что ни один поток в программе не обрабатывает сообщения Windows до того, как сервер DDE настроен.