Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите нажать кнопку в диалоге сохранения файла 
:(
    Опции темы
sotnikovsa
Дата 14.8.2007, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.8.2007

Репутация: нет
Всего: нет



Здравствуйте, прошу прощения если подобные темы поднимались, но что-то не нашел.
Прошу помочь с одной проблемой, при скачивании файла с инета в IE, вылетает окно сохранения вот в связи с этим окном возникают вопросы:
1. Возможно ли как-нибудь обойти это окошко, просто скачать файл ничего не нажимая?
2. Если 1 никак нельзя, то как отловить этот момент, например как менеджеры загрузок FlashGet и т.д., и взять ссылку.

Или прошу помощи по другому вопросу, но они у меня идут для одной задачи
Использую TWebBrowser, захожу на сайт авторизуюсь, все нормально, до момента как надо скачать файл, нажимаю программно кнопку сохранения, выходит окно предлагающее сохранить, нахожу дескриптор окна-> нахожу дескриптор кнопки сохранить->SendMessage и ничего не получается, форма живет в dll, запускаю планировщиком задач с помощью rundll, если все запустить когда я залогинился в windows, то все грузится на ура, работает без замечаний, но как только делаю log off или блокирую комп, то все, окно сохранения неактивно, вот мой код, сделан в Delphi7

Код

procedure TfrmLoadXmlFromBR.Timer1Timer(Sender: TObject);
Var
MainH1,ChildH1,HndDialog1,HndButton1:HWND;
begin
MainH1 := FindWindow(nil, 'File download');//Ищем окно 
  if MainH1 <> 0 then
   begin
     for i:=1 to 5 do      //Ищем дескриптор кнопки Save 
     begin
       case i of
        1: ChildH1:= FindWindowEx(MainH1, 0, 'Button', PChar('Save'));
        2: ChildH1:= FindWindowEx(MainH1, 0, 'Button', PChar('&Save'));
        3: ChildH1:= FindWindowEx(MainH1, 0, 'Button', PChar('S&ave'));
        4: ChildH1:= FindWindowEx(MainH1, 0, 'Button', PChar('Sa&ve'));
        5: ChildH1:= FindWindowEx(MainH1, 0, 'Button', PChar('Sav&e'));
       end;
       if ChildH1<>0 then
       begin
         SendMessage(ChildH1, BM_CLICK, 0, 0);
         addtolog('SendMessage(ChildH1, BM_CLICK, 0, 0); '+inttostr(i));
         Break;
       end;
     end;
   end;

  HndDialog1 := FindWindow(nil, 'Save As');
  if HndDialog1 <> 0 then
    begin
     for i:=1 to 5 do
     begin
     //AddToLog('Save As') ;
       case i of
        1: HndButton1:= FindWindowEx(HndDialog1, 0, 'Button', PChar('Save'));
        2: HndButton1:= FindWindowEx(HndDialog1, 0, 'Button', PChar('&Save'));
        3: HndButton1:= FindWindowEx(HndDialog1, 0, 'Button', PChar('S&ave'));
        4: HndButton1:= FindWindowEx(HndDialog1, 0, 'Button', PChar('Sa&ve'));
        5: HndButton1:= FindWindowEx(HndDialog1, 0, 'Button', PChar('Sav&e'));
       end;
       if HndButton1<>0 then
       begin
        SendMessage(HndButton1, BM_CLICK, 0, 0);
        AddToLog('SendMessage(HndButton1, BM_CLICK, 0, 0); '+inttostr(i));
        Break;
       end;
     end;
    end;   

Если скажем по плану происходит запуск ночью, то утром в логе вижу одно

'SendMessage(ChildH1, BM_CLICK, 0, 0

Если есть возможность, то хотя бы покажите в каком направлении копать.
Заранее благодарен!!![

Это сообщение отредактировал(а) sotnikovsa - 14.8.2007, 22:13
PM MAIL   Вверх
Sunvas
Дата 14.8.2007, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(sotnikovsa @  14.8.2007,  22:10 Найти цитируемый пост)
просто скачать файл ничего не нажимая?

Для этого есть Socketы.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
sotnikovsa
Дата 14.8.2007, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.8.2007

Репутация: нет
Всего: нет



Спасибо, значит попробую в этом направлении, только хочу уточнить, на сайте, откуда надо скачивать файлы, необходима авторизация, это все реально сделать с Socket? Еще раз спасибо за ответ.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0704 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.