|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.02.2012, 21:47 | #1 |
Пользователь
Регистрация: 06.08.2010
Сообщений: 12
|
WinInet работает не так как нужно!
Намутил программу, которая качает файлы из интернета.
Вот в принципе её малейшая часть, которую я могу представить на всеобщий обзор: Код:
Программа работает НО! Она не качает в оперативную память! Она Скачивает на жёсткий диск в папку: C:\Documents and Settings\<Скрыто>\Local Settings\Temporary Internet Files\Content.IE5\AYQTYCNG\ Допустим скачали, смотрим, скоко занимает памяти программа и опа 4 мб! (а не 76 мб). Ну ясен хрен, она записала на диск. Закрываем программу и снова открываем и токо после этого она даже не скачивает а просто считывает файл с диска в оперативную память. Мне нужно скачать сразу в оперативную память (Пользователь не должен видеть этот файл на диске) Ну воть и собственно вопрос: как это исправить? Мож есть какая - то другая функция? Может попробовать как то через OpenReqist?
Наштампуем троянец???
Последний раз редактировалось Stilet; 24.02.2012 в 22:59. |
24.02.2012, 22:30 | #2 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Не поручусь, но попробуй флаги INTERNET_FLAG_RELOAD | INTERNET_FLAG_DONT_CACHE
в функции InternetOpenURL. Отпишись, если получится, интересно. |
25.02.2012, 01:09 | #3 |
Пользователь
Регистрация: 06.08.2010
Сообщений: 12
|
EUGY Спасибо, уже что-то. Вот что мы имеем:
INTERNET_FLAG_RELOAD - Файл всё равно пишется на жёсткий диск но когда он его скачает полностью, его уже не грузит в память, а заного с сервера качает. INTERNET_FLAG_DONT_CACHE - как раз то, что нужно самого скачанного файла он не записывает на диск, но зато записывает какие то 2 файла с непонятным содержимым вот что я смог извлеч из одного из них Client UrlCache MMF Ver 5.2 а из другого H.t.t.p://Ссылка на скачиваемый файл Content-Type: application/octet-stream Content-Length: 73049744 Оба файла весят примерно 600кб. Тоже не хотелось бы их иметь на диске. Ладно, теперь основной проблемой стало то что я ведь скачиваю в буфер, а оперативки программа так и занимает 4 Мб, надо завтра проверить содержимое буфера...
Наштампуем троянец???
Последний раз редактировалось 1234567852; 25.02.2012 в 01:13. Причина: Случайно попала ненужная ссылка |
25.02.2012, 19:11 | #4 |
Пользователь
Регистрация: 06.08.2010
Сообщений: 12
|
Так, с буфером разобрался. Осталось придумать, как заставить программу не писать эти файлы журналов (теперь по 3 файла пишет) есть идеи?
Внимание программа скачивает неправильно, что она скачивала правильно добавьте в цикл самой последней строкой "inc(Iter, ReadedData);", и буфер поменяйте обратно на "array of byte". Жду идей...
Наштампуем троянец???
|
26.02.2012, 03:57 | #5 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Как ни старался, не смог сымитировать такое поведение, читает без проблем.
Потести в консоли. Код:
Последний раз редактировалось EUGY; 26.02.2012 в 04:01. |
26.02.2012, 18:28 | #6 | |
Пользователь
Регистрация: 06.08.2010
Сообщений: 12
|
Я тут посмотрел, всё, что качает через WinInet создаёт эти файлы журнала, даже тот самый DownloadMaster видимо без них никак((
а что дают эти строки? Цитата:
Наштампуем троянец???
|
|
26.02.2012, 18:36 | #7 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Да.
Для HTTP_QUERY_CONTENT_LENGTH это может и излишне, но в общем случае так правильнее. Я может прозевал, но у меня файлы журналов не создаются. Ты это... ну ради смеха, убей процессы эксплорера перед тестом. |
26.02.2012, 19:45 | #8 |
Пользователь
Регистрация: 06.08.2010
Сообщений: 12
|
Для того, чтоб следить какие библиотеки, файлы, сервисы и.т.п. использует какая - либо программа я использую программу Anvir.
Вот на скрине (см. вложение) видно: моя программа выделена, она что то пишет на диск (мало но пишет) я так и полнел, что это файлы журнала. и видно все файлы, которые она использует.
Наштампуем троянец???
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написал программу,работает,но не так как нужно( С++ ) | Diwolf | Помощь студентам | 0 | 21.12.2011 19:47 |
Формула поиска не работает как нужно | Uralmaster | Microsoft Office Excel | 2 | 14.02.2011 17:38 |
Таймер обратного отсчета работает не так как надо.. нужно найти ошибку в коде... | Человек_Борща | Общие вопросы Delphi | 10 | 13.04.2010 20:06 |
С#.NET. Маленькая проблемка - условие не работает так , как надо | Ksy | Общие вопросы .NET | 11 | 24.12.2009 21:07 |
Программма работает не так как ожидал | бедный_студент | Помощь студентам | 3 | 13.10.2009 00:08 |