Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/49: Рейтинг темы: голосов - 49, средняя оценка - 5.00
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310

Отследить завершение загрузок в браузере и выключить компьютер

15.06.2011, 20:47. Показов 10394. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с известной многим проблемой. Качаешь что-нибудь большое. Качаешь, качаешь, качаешь,, качаешь, время уже часа 4 ночи, ты естественно дрыхнешь сном младенца(или алкоголика- всё зависит от дня недели=)), а загрузка наконец-то заканчивается. И всё... Дальше комп висит без дела до того момента, пока я не встану и не выключу его. Ну а комп тоже хочет спать(у каждой его детали тоже есть предел мото-часов), да и электричество у нас в стране не шибко дёшево. Так вот в чём задача:необходимо своять программу, которая отслеживает состояние загрузки и выключает компьютер.
Ответы типа:скачай давнлоад менеджер не принимаются, т.к у меня на них жуткая аллергия, а качаю я в основном через барузер Opera. Использование просто таймера тоже не катит(время загрузки-вещь довольно загадочная, и хоть и пишется, что осталось 1 час, но может быть остаться как 30, так и 200 минут чистого времени.
Была у меня идея сверять контрольные суммы, но это
1) постоянное обращение к свойству файла, который меняется
2)контрольная сумма может быть и не дана на сайте производителя(да её ещё найти надо)
С размером файла тажа проблема.
Буду благодарен за мысли и желательно в письменном виде.(и с примерами кода=))
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.06.2011, 20:47
Ответы с готовыми решениями:

Как отследить завершение процесса?
Здравствуйте, есть небольшой вопрос, можно как-то отследить завершение процесса? Мой случай, есть 15 серверов, у всех есть батники...

Выключить компьютер по заданному времени
Подскажите с кодом: Нужно выключить компьютер по указанному времени пользователя. Допустим, сейчас 11.00 и он поставил (к примеру,...

Выключить компьютер по нажатию кнопки
Делаю одну программу, и мне понадобилась кнопка, при нажатии которой, выключался компьютер т.е. система.

17
 Аватар для _Лёша_
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
15.06.2011, 20:56

Не по теме:

Provaider, (не в обиду) ты конечно мастер изобретать велосипеды, но хоть какие-нибудь попытки реализации выкладывай. :)

Можно просто проверять размер файла, если он не меняется в течение допустим 1 минуты > Power OFF
2
 Аватар для Ciberst
559 / 436 / 21
Регистрация: 16.12.2010
Сообщений: 953
15.06.2011, 21:00
я бы написал свою качалку...
0
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
15.06.2011, 21:00

Не по теме:

Не знаю как опера, по мне так мастера закачек куда лучше, все-таки они для этого и написаны.
Да и потом, что страшного что комп работает всю ночь. Мне если не на работу, комп забывает об отдыхе напрочь, я сплю под джаз, и это сутками. Скоро отпуск, компу будет ой как нелегко. Для того он и комп, чтобы работать. На работе компы вообще не выключаются у нас в IT-отделе, круглосуточно работают. Как и сервера.


Но это все офф-топ, и к теме никак не относится.
Оперой я не пользовался, а вот в Лисе есть такая фишка - при скачивании файла в папке с загрузками есть не только файлы, которые я скачиваю, а еще какие-то странные файлы, бэкапы я так понял на случай прерывания загрузки чтобы потом не с начала качать.
При завершении загрузок эти файлы удаляются, а мы имеем нужный файл.

Поэтому я могу написать программу для лисы, которая будет отслеживать - если странные файлы из папки все пропали, то выключаем компьютер. Можно таймер поставить где-нибудь с интервалом минут в 5, этого хватит за глаза.
В опере я не в курсе, как устроена закачка.
Это самое первое, что пришло в голову, не углубляясь в АПИ и даже не знаю что еще.
Метод топорный и неуниверсальный.
1
 Аватар для _Лёша_
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
15.06.2011, 21:12
Цитата Сообщение от Памирыч Посмотреть сообщение

Не по теме:

Не знаю как опера, по мне так мастера закачек куда лучше, все-таки они для этого и написаны.
Да и потом, что страшного что комп работает всю ночь. Мне если не на работу, комп забывает об отдыхе напрочь, я сплю под джаз, и это сутками. Скоро отпуск, компу будет ой как нелегко. Для того он и комп, чтобы работать. На работе компы вообще не выключаются у нас в IT-отделе, круглосуточно работают. Как и сервера.


Но это все офф-топ, и к теме никак не относится.
Оперой я не пользовался, а вот в Лисе есть такая фишка - при скачивании файла в папке с загрузками есть не только файлы, которые я скачиваю, а еще какие-то странные файлы, бэкапы я так понял на случай прерывания загрузки чтобы потом не с начала качать.
При завершении загрузок эти файлы удаляются, а мы имеем нужный файл.

Поэтому я могу написать программу для лисы, которая будет отслеживать - если странные файлы из папки все пропали, то выключаем компьютер. Можно таймер поставить где-нибудь с интервалом минут в 5, этого хватит за глаза.
В опере я не в курсе, как устроена закачка.
Это самое первое, что пришло в голову, не углубляясь в АПИ и даже не знаю что еще.
Метод топорный и неуниверсальный.
Памирыч, я все же склоняюсь к измерению размера файла. Если минуту или 2 размер не меняется, это значит, что либо закачка завершена, либо пропало соединение с сервером или интернетом >> закачка не возможна >> ОФФ
0
 Аватар для Ciberst
559 / 436 / 21
Регистрация: 16.12.2010
Сообщений: 953
15.06.2011, 21:16
Размер файла сравнивать хотите? мне как пользователю который любит качать из интернета всякую фигню , будет очень неудобно каждый раз указывать путь к файлам, чтобы их программа проверяла, а что если у нас на 5 минут прервется соединение, а потом оно продолжится, а мы возьмем и комп вырубим
0
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
15.06.2011, 21:18
_Лёша_, Я когда пост писал, твоего еще не видел.
Твое решение мне конечно больше нравится.

Ciberst тоже верно говорит. Думаем еще...
0
 Аватар для _Лёша_
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
15.06.2011, 21:22
Цитата Сообщение от Ciberst Посмотреть сообщение
Размер файла сравнивать хотите? мне как пользователю который любит качать из интернета всякую фигню , будет очень неудобно каждый раз указывать путь к файлам, чтобы их программа проверяла, а что если у нас на 5 минут прервется соединение, а потом оно продолжится, а мы возьмем и комп вырубим
Не, ну это как вариант, не углубляясь в проблему.

Не по теме:

углублялка уже не работает сегодня %-)



Добавлено через 2 минуты
Цитата Сообщение от Памирыч Посмотреть сообщение
_Лёша_, Я когда пост писал, твоего еще не видел.
Твое решение мне конечно больше нравится.

Ciberst тоже верно говорит. Думаем еще...
Контрольная сумма? Хз как ее получать...

Добавлено через 1 минуту
Еще идея, проверить размер файла по ссылке, сравнить с тем, что есть у нас >> OFF
0
 Аватар для Ciberst
559 / 436 / 21
Регистрация: 16.12.2010
Сообщений: 953
15.06.2011, 21:36
насчет проверки есть ли интернет или нет, то тут можно устроить мега пинг : пинг к Google, если сервер гугла вдруг не отвечает( на случай если на него упадет ядерная бомба) пингуемся к яндексу, если и он отвечает, то на случай вдруг в России нет света, пингуемся к сайту антивирусника какого-либо например к Avira
0
2 / 2 / 0
Регистрация: 23.02.2011
Сообщений: 38
15.06.2011, 22:14
недели две назад сделал что-то подобное,т.к столкнулся с такой проблемой.Сделал по другому.
На форму кинул два лабла,текстбокс,кнопнку и таймер.
Первый листбокс Показывает время компьютера,а второй выставляю сам при помощи текстбокса.
Запускаю таймер и If Label1.text = Label2.text then Выключение компа End If . обычно в загрузках показывается оставшееся время.
Вот только одна проблема,эта хрень хорошо работает на ХР,а на вин 7 если какой-то софт остается открытым то *** выключишь.Типо принудительное выключение.
найди как выключить сам комп,с FORCE Power OFF .

 Комментарий модератора 
Нецензурные выражения запрещены.
ТС в первом посте обозначил, что такой принцип ему не подходит
0
 Аватар для _Лёша_
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
15.06.2011, 22:26
Цитата Сообщение от Replica Посмотреть сообщение
недели две назад сделал что-то подобное,т.к столкнулся с такой проблемой.Сделал по другому.
На форму кинул два лабла,текстбокс,кнопнку и таймер.
Первый листбокс Показывает время компьютера,а второй выставляю сам при помощи текстбокса.
Запускаю таймер и If Label1.text = Label2.text then Выключение компа End If . обычно в загрузках показывается оставшееся время.
Вот только одна проблема,эта хрень хорошо работает на ХР,а на вин 7 если какой-то софт остается открытым то *** выключишь.Типо принудительное выключение.
найди как выключить сам комп,с FORCE Power OFF .

Нецензурные выражения запрещены.
ТС в первом посте обозначил, что такой принцип ему не подходит
Тут есть решение Как програмно отключить компьтер?
0
197 / 189 / 15
Регистрация: 09.02.2011
Сообщений: 457
15.06.2011, 23:06
Может быть корявенькое решение но должно работать )))
Чтобы работало вкладка загрузки должна быть активной... делал для последней доступной оперы ибо пользуюсь Хромом а Оперу пришлось качать.


VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Public Class Form1
 
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String _
    ) As Integer
 
    Private Declare Function apiGetWindowText Lib "user32" Alias "GetWindowTextA" ( _
    ByVal hwnd As Integer, _
    ByVal lpString As String, _
    ByVal cch As Integer _
    ) As Integer
 
    Private Declare Function apiGetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" ( _
    ByVal hwnd As Integer _
    ) As Integer
 
    Private Sub OperaDownloads()
 
        Dim hwnd As Integer
        Dim OperaWindName As String = ""
        hwnd = FindWindow("OperaWindowClass", vbNullString)
 
        OperaWindName = GetWindowName(hwnd)
 
        If OperaWindName.IndexOf("Загрузки") > -1 Then
            If OperaWindName.IndexOf(":") > -1 Then
                Dim mtch As System.Text.RegularExpressions.Match
                mtch = System.Text.RegularExpressions.Regex.Match(OperaWindName, "\s[\d]*\:[\d]*\s")
                If mtch.Length > 0 Then
                    While mtch.Length > 0
                        OperaWindName = GetWindowName(hwnd)
                        mtch = System.Text.RegularExpressions.Regex.Match(OperaWindName, "\s[\d]*\:[\d]*\s")
                        Debug.Print("До отключения осталось: " & mtch.Value)
                        Threading.Thread.Sleep(1000)
                    End While
                    MessageBox.Show("Закачка завершена Комп отключился")
                End If
 
            Else
                MessageBox.Show("Активных загрузок нет")
            End If
        Else
            MessageBox.Show("Открыта не та вкладка")
        End If
    End Sub
    'Функция не моя
    Public Function GetWindowName(ByVal hWnd As Integer) As String
        Try
            Dim tLength As Integer
            Dim rValue As Integer
            Dim wName As String
            tLength = apiGetWindowTextLength(hWnd) + 4
            wName = ""
            wName = wName.PadLeft(tLength) 'add buffer
            rValue = apiGetWindowText(hWnd, wName, tLength)
            wName = wName.Substring(0, rValue) 'strip buffer
            Return wName
        Catch ex As Exception
            Return ""
        End Try
    End Function
End Class
2
 Аватар для Ciberst
559 / 436 / 21
Регистрация: 16.12.2010
Сообщений: 953
15.06.2011, 23:46
Мне, кажется, привязывать программу к определенному браузеру не политкоректно, мы (программисты) не должны ущемлять людей работающих и отдыхающих с лисой, с хромом, с оперой, с сафари и тд, надо писать программу универсальную, гибкую.

Вопрос к ТС, по скольку в опере поддерживается закачка ТоррентФайлов, у меня возник вопрос, а не с торрентов ли мы качаем?
0
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
16.06.2011, 17:29  [ТС]
Да торренты там поддерживаются, но именно для этого я использую uTorrent. речь идёт об обычных файлах. Кстати, там с авто выключением тоже проблемы. Самый нормальный вариант, который я здесь слышал, это каждые 7 минут сверять размер файла. Если он не изменился, подождать ещё минут 5 и потом ещё раз проверить, а потом уж точно комп отправить спать. Наверное так и поступлю. В скором времени ждите прогу на форуме.
0
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
16.06.2011, 19:03  [ТС]
Вот по-быстрому что-то накрапал, но при окончании загрузки он выдал такую ошибку.
Миниатюры
Отследить завершение загрузок в браузере и выключить компьютер  
Вложения
Тип файла: rar AutoTickSleep.rar (97.7 Кб, 21 просмотров)
0
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
16.06.2011, 20:16
Provaider, Что произошло с установочным файлом MailRuAgent?
Ошибку надо устранять, тем более, необработанную
0
 Аватар для Ciberst
559 / 436 / 21
Регистрация: 16.12.2010
Сообщений: 953
16.06.2011, 22:10
итак, набросаю несколько идей, которые мне пришли в голову, когда шел домой (долгий путь, дело было вечером, делать было нечего). Ну так ВОТ иду я, иду, и тут бац мысль в голову: когда мы качаем, то очевидно, о процесс погружает намного больше памяти, поэтому предлагаю следить за потреблением памяти нужного процесса, и как только мы заметим что она упала на определенную величину, то тут же даем компу сигнал : вытащить провод из розетки, ибо хватит уже наше электричество дорогое тратить попросту
0
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
16.06.2011, 22:18  [ТС]
Ciberst, загрузчик Operы штука загадочная(не меньше чем и другие загрузчики). Сразу после окончания загрузки файла, загрузка ЦП и памяти увеличивается на 10%-80 %, в зависимости от веса закаченного файла(в это время он комп подчищает временные файлы, до копирует нужные, и прочее..).
Ну в принципе вот и проект. С выключением робит, со спящим не побывал...(насиловал прогу через загрузку многострадального майл агента-ну хоть на что-то сгодился=))
Вложения
Тип файла: rar AutoTickSleep.rar (110.5 Кб, 69 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.06.2011, 22:18
Помогаю со студенческими работами здесь

Выключить компьютер, который находится в сети
Как программно выключить компьютер который находиться в сети? Зная его мак адрес.

Отследить нажатие кнопки на странице в браузере в WinForm
Имеем WinForm, на ней WebBrowser. Можно ли отследить нажатие кнопки на странице в окне браузера?

Отследить завершение процесса
Программа должна следить за работой процесса, например notepad.exe. Если этот процесс завершается, то выполняется какой-то код. Не...

Отследить завершение произвольного процесса.
День добрый! Вообщем стоит задача, при запуске приложения стартовать др приложение, и следить за его работай (запуск, завершение и т.п.)...

Отследить запуск и завершение приложений
Программа при запуске показывает активно ли конкретное приложение (пр. калькулятор), если оно активно, то показывает label1, если нет -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru