запрет менб в webbrowser и встака своего меню

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Fake22, 2 Oct 2013.

  1. Fake22

    Fake22 New Member

    Joined:
    4 May 2013
    Messages:
    73
    Likes Received:
    0
    Reputations:
    0
    Здарвствуйте! я сделал себе веб браузер и у меня есть такая функция как
    webbrowser1.navigate('www.mysite.net')
    Мне нужно отоброзить только свой сайт например, я сделал так но вот еще проблемка есть при навидении мыши на браузер и клике правой кнопкой мыши, вылезает меню..... как так сделать чтобы оно не выходило вообще? мне оно вообще не нужно.


    Есть вторая проблемка) если комп не в сети то стараница открывается с ошибкой((( как сделать чтобы была чистая страница и не выходила это надпись что нет соединения с интернетом? или просто чтобы вышла надпись нет соединения и все....

    Ну и если можно то еще кое что добавлю если можете то подскажите как осуществить это.... я например зарегистрирован на сайте одном...

    логин тест
    пароль тест

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

    Например я сделал себе веб браузер и там открывается этот форум так вот мне для просмотра нужно авторизоваться на этом сайте. Но вводить логин и пароль (желательно отметить галочку "запомнить")
    а данные то есть логин а пароль использовать те что я буду вводить в поля "edit" и галочка запомнить тоже нужна... если я ввел все правильно я попадаю на ваш сайт и у меня открывается форма...
    Если же я ввел не верные данные то у меня выходило сообщения в "Label" или же открывалась новая форма с ошибкой) Помогите плиз все это реализовать... Кому не лень напишите что да как сделать, что куда вводить..


    В принципе я могу создать форму с логином и паролем и если я введу данные правильно то у меня откроется браузер а если нет то выйдет ошибка а вот как сделать чтобы программа проверяла лог и пасс с сайта я не знаю... По читал в интернете не нашел решения... был пример брута в видео я его потерял. Там помоему принцип тот же... ну или есть пример авторизации на сайте=) Заранее спасибо)
     
  2. Fake22

    Fake22 New Member

    Joined:
    4 May 2013
    Messages:
    73
    Likes Received:
    0
    Reputations:
    0
    Есть еще одна проблемка с браузером... Когда нет соединения выходят такие вот ошибки. Точнее одно окно и выходит каждые 1-2 секунды не успеваю закрывать... В чем может быть проблема?

    [​IMG]
     
  3. antichar

    antichar New Member

    Joined:
    11 Sep 2013
    Messages:
    45
    Likes Received:
    2
    Reputations:
    0
    Да в чем угодно. Запусти отладку программы для начала и посмотри, где в коде ошибка возникает.
     
  4. Fake22

    Fake22 New Member

    Joined:
    4 May 2013
    Messages:
    73
    Likes Received:
    0
    Reputations:
    0
    Спасибо конечно но если бы я еще знал как это :D
     
  5. yuran666666

    yuran666666 Member

    Joined:
    18 Jan 2009
    Messages:
    84
    Likes Received:
    19
    Reputations:
    11
    Здраствуйте. Я, Fake22. Сделал себе браузер вебсерфер суть такова... Нужно отоброзить только свой сайт и если комп не в сети то зделать так, что стараница открывается с ошибкой. Пользователь может нажимать правой кнопкой мыши, вводить логин и пароль. И если
    пользователь нажимает правой кнопкой то ничего не происходит, события нагнитают форма пропадает и финал ексепшон. Можно
    срать кирпечами...
    Отмечать галочку "запомнить" можно.
     
  6. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1
    "Я зделал веббраузер" - пиндос.
    По сабжу - запретить меню http://msdn.microsoft.com/de-de/library/system.windows.forms.webbrowser.iswebbrowsercontextmenuenabled.aspx

    Логин & Пасс проверка - сниффер в руки и формируй HttpWebRequest.

    Соединение с нетом - try catch и смотри что даст Exception.

    Гуглить вообще не умеешь.
     
    #6 Spot, 4 Oct 2013
    Last edited: 4 Oct 2013
  7. antichar

    antichar New Member

    Joined:
    11 Sep 2013
    Messages:
    45
    Likes Received:
    2
    Reputations:
    0
    Открыть проект в IDE и нажать F9.
     
  8. Fake22

    Fake22 New Member

    Joined:
    4 May 2013
    Messages:
    73
    Likes Received:
    0
    Reputations:
    0
    В общем вот браузер или что это не знаю...=)
    [​IMG]

    При клике правой кнопки на мыши выскакивает меню... Хочу поставить запрет на клик правой кнопки вообще на форме, где-то я читал как это сделать.....
    И еще я искал как то что-бы с веб браузера убрать скролл бар, нашел... но когда я его искал этот код то как то наткнулся на такую вещь... Например открыл браузер и на клик кнопки поставил код этот и у меня в браузере сама страница могла сдвинутся на 5 пикселей (размер можно выставлять в коде) если кто знает, подскажите.... Если я ща опять наткнусь я скину сюда его....
    Вот код для скрытия скролл бара!
    procedure TForm1.Button1Click(Sender: TObject);
    var d:eek:levariant;
    begin
    d := WebBrowser1.OleObject.document;
    d.body.setAttribute('scroll', 'no');
    end;

    Может кому пригодится)
    И кстати я нашел способ для авторизации... то есть как сделать чтобы лог и пасс были сайта.. Через idhttp там Post запросы отправлять) интересное это дело программы создавать) вчера с утра и до 6-ти утра сидел) затянуло)))
     
    #8 Fake22, 5 Oct 2013
    Last edited: 5 Oct 2013
  9. Fake22

    Fake22 New Member

    Joined:
    4 May 2013
    Messages:
    73
    Likes Received:
    0
    Reputations:
    0
    Одна проблема Решена.... Прокрутка браузера кнопками....
    Про тестировал все работает прекрасно!!!!!!!! Вот код.
    // Scroll up
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    WebBrowser1.OleObject.Document.ParentWindow.ScrollBy(0, -100);
    end;

    // Scroll left
    procedure TForm1.Button3Click(Sender: TObject);
    begin
    WebBrowser1.OleObject.Document.ParentWindow.ScrollBy(-100, 0);
    end;

    // Scroll down
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    WebBrowser1.OleObject.Document.ParentWindow.ScrollBy(0, +100);
    end;

    // Scroll right
    procedure TForm1.Button4Click(Sender: TObject);
    begin
    WebBrowser1.OleObject.Document.ParentWindow.ScrollBy(+100, 0);
    end;
     
  10. Fake22

    Fake22 New Member

    Joined:
    4 May 2013
    Messages:
    73
    Likes Received:
    0
    Reputations:
    0
    Нашел статью как скрыть меню в веб браузере но ничего не понял)) для меня это темный лес) Кому не лень, уделите мне не много своего времени)

    Вот статья

    Вам необходимо включить интерфейс IDocHostUIHandler.

    Для этого Вам понадобятся два файла: ieConst.pas и IEDocHostUIHandler.pas.

    В методе ShowContextMenu интерфейса IDocHostUIHandler,

    необходимо изменить возвращаемое значение с E_NOTIMPL на S_OK.

    После этого меню перестанет реагировать на правое нажатие кнопки мыши.

    Добавьте два модуля, упомянутые выше в секцию Uses и добавьте следующий код:

    Code:

    ... var

    Form1: TForm1;

    FDocHostUIHandler: TDocHostUIHandler;

    ...

    implementation

    ...

    procedure TForm1.FormCreate(Sender: TObject);

    begin

    FDocHostUIHandler := TDocHostUIHandler.Create;

    end;



    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

    begin

    FDocHostUIHandler.Free;

    end;

    procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject;

    pDisp: IDispatch; var URL: OleVariant);

    var

    hr: HResult;

    CustDoc: ICustomDoc;

    begin

    hr := WebBrowser1.Document.QueryInterface(ICustomDoc, CustDoc);

    if hr = S_OK then CustDoc.SetUIHandler(FDocHostUIHandler);

    end;

    А как сделать не знаю... вроде сделал так но у меня ошибку выдает... Если найду ответ то нипишу о решение проблемы...