|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.04.2014, 20:44 | #31 |
Пользователь
Регистрация: 15.02.2014
Сообщений: 53
|
nedel, я видимо не так выразился, если сворачивать окно программы (своей, а не той, с которой делаем скриншот) тогда потом останавливается, а по поводу того что PrintWindow не делает скриншота со свернутого окна, я в курсе.
|
11.04.2014, 21:26 | #32 |
Пользователь
Регистрация: 15.02.2014
Сообщений: 53
|
В общем, еще не раз перепробовав все варианты, остановился на варианте WorldMaster'a, работает при любой задержке, свернута ли форма или нет, поток не перестает работать, вот код:
Код:
P.s. Переменную "i" сделал для того что бы посмотреть, продолжает ли поток работу в свернутом режиме формы. Код:
Последний раз редактировалось SPLER; 11.04.2014 в 22:00. Причина: Правка |
12.04.2014, 10:31 | #33 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
а зачем вам при сворачивании формы следить?
Может вместо воркеров использовать обычный поток? А чтобы при растягивании не вылетало блокируйте изменение размеров формы в момент работы функции.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
12.04.2014, 12:18 | #34 | |
Пользователь
Регистрация: 15.02.2014
Сообщений: 53
|
Цитата:
По поводу обычных потоков, на сколько знаю (могу ошибаться) созданный поток можно остановить, но вот возобновить его работу нельзя. Хотя по этому поводу слышал разные мнения, кто то говорит что можно, кто то говорит что нет. Поэтому поищу еще информацию на том же мсдн. Честно говоря, не вникал в подробности отличия обычного потока от воркера, а надо бы, исправлюсь. |
|
12.04.2014, 12:42 | #35 |
Пользователь
Регистрация: 15.02.2014
Сообщений: 53
|
Почитав мсдн, вывод: поток можно приостановить и продолжить, методами Suspend и Resume, но тот же мсдн говорит, что эти методы устарели.
|
12.04.2014, 15:45 | #36 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Да вам по сути обычного таймера хватит. Он не останавливается.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
12.04.2014, 17:00 | #37 |
Пользователь
Регистрация: 15.02.2014
Сообщений: 53
|
На сколько знаю, таймер не отдельный поток, точнее как, если в том же таймере (в функции тика) добавить слип на минуту к примеру (это извращение, понимаю, но все же) то и форма повиснит, а с ней все остальное. Но, я все же опробовал с таймером, спасибо Вам, и нашел причину остановки воркера, она заключается в том, что при сворачивании формы, Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height, g); параметры помеченные красным, становятся не допустимыми, т.е. если установить фикс. значение, например 100, 100, тогда все в норме, поток продолжает работу, но как я понял, нет перерисовки в pictureBox, и опять же, как Вы, WorldMaster, верно подметили, что и необходимости такой то и нет. В общем проблема решена целиком и полностью, спасибо большое всем, принявшим участие в ее решении.
|
12.04.2014, 17:37 | #38 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
В таймере не зачем ставить слип. надо просто интервал сделать нужный и все.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Скрин активного окна | GrabbeR | Общие вопросы Delphi | 3 | 21.05.2012 15:28 |
определение активного окна | DeDoK | Общие вопросы Delphi | 3 | 13.12.2010 19:07 |
Confirm при закрытии активного окна | Jensi | JavaScript, Ajax | 4 | 17.08.2009 19:06 |
Поиск активного окна | Arigato | Win Api | 5 | 22.11.2008 18:32 |