Можно ли ка-то прервать выполнение скомпилированной программки? (VB portable)
P.s. программка мониторит наличие файлов, и копирует, когда некоторый файл появляется в исходной директории в целевую. Но знаю неизвестно, сколько будет файлов. И надо бы после сигнала, что больше ничего не будет, этот "монитор" остановить.
P.s. а как можно уменьшить нагрузку на ЦП? А то вся машина тормозится, пока оно "мониторится".
В цикл вставь паузы и Application.DoEvents (вроде так в VB)
Цитата: Dmitry2064
программка мониторит наличие файлов, и копирует, когда некоторый файл появляется в исходной директории в целевую.
Если правильно понял вашу задачу, посмотрите в сторону той же ReadDirectoryChangesW(). Принципиально не завешивает процессор.
Цитата: arrjj
В цикл вставь паузы и Application.DoEvents (вроде так в VB)
DoEvents во время паузы - и все ОК (нашел где-то здесь примерчик "ожидалки"). Спасибо.
P.S. Правда, теперь задача остатся в таскманагере. Хотя для кнопки "отмена" я написал Unload me. Т.е. по кнопке "Старт" начинается цикл ожидания с DoEvents внутри 20-секундной паузы. И пока пауза, я нажимаю "Отмена" и форма вроде пропадает. А оказывается, она осталась. Или с DoEvents надо иначе выгружаться?
На др. компе вроде все работает как надо. ОК. Спасибо за помощь!
Чтобы полностью выгрузить программу, используйте End.
Кнопку Отмена можно нажать в любое время цикла, просто она может сработать не сразу.
Цитата: Dmitry2064
... как можно уменьшить нагрузку на ЦП? А то вся машина тормозится, пока оно "мониторится".
Как именно выполняется мониторинг?