Page 1 of 1

Хочу чтобы встроили браузер в программу

Posted: 18 Jan 2011, 13:47 Tue
by ALEXSOFT
хочу чтобы встроили браузер в программу (как в StreamTransport) для закачки с турбобита и онлайн-видео.

Posted: 18 Jan 2011, 14:03 Tue
by Qwertiy
ALEXSOFT wrote:хочу чтобы встроили браузер в программу
Поддерживаю.
Кстати, фактически встроенный браузер уже есть (компонент IE), надо добавить только текстовое поле для адресной строки...

Posted: 18 Jan 2011, 15:47 Tue
by Qwertiy
В крайнем случае можно разместить ссылку на страницу

Code: Select all

<html> 
<head> 
<script language="JavaScript"> 
function open_url() 
{ 
document.getElementById('result').innerHTML="<iframe src='"+document.getElementById('txt_url').value+"' width=100% height=90% vspace=7px'></iframe>"; 
} 
</script> 
</head> 
<body> 
<input type=text id="txt_url" size=96 onEnter=open_url() value="Введите url в это поле и нажмите Открыть">
<input type="button" value="Открыть" onClick="open_url(); return false;">
</br>
<span id="result"> </span></br>
</body> 
</html>
на TopDownloads...

Re:

Posted: 19 Jan 2011, 9:11 Wed
by ALEXSOFT
Qwertiy wrote:надо добавить только текстовое поле для адресной строки...
и общий кукиш :D

Posted: 19 Jan 2011, 18:56 Wed
by Qwertiy
Qwertiy wrote:
ALEXSOFT wrote:хочу чтобы встроили браузер в программу
Поддерживаю.
Кстати, фактически встроенный браузер уже есть (компонент IE), надо добавить только текстовое поле для адресной строки...
Сделал программу для перехода по произвольному адресу в DM.
DM Open Url.7z
Достаточно файла DM Open Url\bin\Release\DM Open Url.exe.
Если получаете сообщение "Ошибка получения доступа к документу.", то:
1. Обновите параметры.
2. Если дескриптор IE равен 0, то откройте Новости и обновите параметры ещё раз.
3. Если дескриптор DM равен 0, то убедитесь что он запущен, его заголовок начинается с "Doenload Master" и нет каких либо препятствий для обращения к нему этой программы.
ALEXSOFT wrote:... для закачки с турбобита
Всё равно не работает... Подозреваю, что в UserAgent'е что-то не так...

Re: Конкретно "Чего бы ещё хотелось!"

Posted: 19 Jan 2011, 23:09 Wed
by ALEXSOFT
Сделал программу для перехода по произвольному адресу в DM
на ХР не пашет. а плагином её сделать можно? чтоб панель была в DM.
Всё равно не работает... Подозреваю, что в UserAgent'е что-то не так...
помоему ссылка передается так же как и из отдельного браузера. :(

Posted: 20 Jan 2011, 1:22 Thu
by Qwertiy
ALEXSOFT wrote:
Сделал программу для перехода по произвольному адресу в DM
на ХР не пашет.
У меня XP и всё работает... Скринвидео. Пишите подробнее что именно не работает.
Убедитесь, что выполнены пункты 1-3 предыдущего сообщения. Подсказки:
1. Если в DM с момента запуска ни разу не открывалась страница TopDownloads, то дескриптор IE равен 0.
2. Если используется программа, меняющая заголовок окна DM (например, ZeroBlender), то дескриптор DM равен 0.
3. Если открывалось ftp (т. е. для отображения использовался проводник, а не IE), то надо открыть нормальную страницу (http) и обновить параметры.
4. Возможно (не проверял), надо, чтобы обе программы были запущены от одного имени и (разумеется) без флажка "Защитить компьютер от несанкционированных действий этой программы".
5. Антивирус/firewall - выполняется доступ к памяти другой программы.
ALEXSOFT wrote:а плагином её сделать можно?
Теоретически это возможно, но ничего не даёт... В прогрмме используется WinApi для получения доступа к элементу IE в DM. Если посмотрите код, то увидите, что сначала ищется окно с классом "TMainForm" и началом заголовка "Download Master", а затем в нём ищется окно с классом "Internet Explorer_Server". Плагинам не предоставляется доступ ни к окну, ни к элементам формы, поэтому преимуществ никаких...
К тому же, если бы я знал как написать на VB.NET плагин, то вот это сделал бы сам. Хотя, надеюсь, найду время разобраться, как превратить пример плагина на Delphi в VB.NET...
ALEXSOFT wrote:чтоб панель была в DM.
Не уверен, что это в принципе возможно... Точнее, поместить поле в DM скорее всего возможно, но вот обработка событий будет проблемой...
ALEXSOFT wrote:
Всё равно не работает... Подозреваю, что в UserAgent'е что-то не так...
помоему ссылка передается так же как и из отдельного браузера. :(
По сути так оно и есть - что обычный IE, что тут IE - разницы никакой...
Пока писал программу, посмотрел, что передаёт IE как UserAgent:
IE ClientInformation.png
Подозреваю, что DM передаёт что-то другое, хотя и выбрано Получать из IE...

PS: Ограничение на вложение 256 КБ - маловато...

Re: Конкретно "Чего бы ещё хотелось!"

Posted: 20 Jan 2011, 6:27 Thu
by ALEXSOFT
Image

Code: Select all

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Не удается найти указанный файл.
File name: 'Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at DM_Open_Url.Form1.BtnOpen_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].



************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
DM Open Url
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Documents%20and%20Settings/user/Рабочий%20стол/DM%20Open%20Url/obj/Release/DM%20Open%20Url.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
По сути так оно и есть - что обычный IE, что тут IE - разницы никакой...
дм и ие один и тотже кукишь используют?

Posted: 20 Jan 2011, 11:35 Thu
by Qwertiy
ALEXSOFT wrote:Image
Понятно. У Вас версия mshtml не соответствует версии, прописанной в зависимостях... Поставьте .NET Framework 4 (можно найти на сайте Microsoft или на FileHippo.com).

На всякий случай:
Open URL - References.png
ALEXSOFT wrote:дм и ие один и тотже кукишь используют?
Не знаю. Но думаю, DM (в отличие от IE) не скажет, что connectionSpeed не поддерживается...

Re: Хочу чтобы встроили браузер в программу

Posted: 20 Jan 2011, 12:29 Thu
by ALEXSOFT
Qwertiy не лучше ли сделать стартовую страницу от яндекса (вместо topdownloads.ru) чем качать НЕТы всякие?

Posted: 20 Jan 2011, 12:58 Thu
by Qwertiy
Изменил CopyLocal у этой библиотеки на True. Терерь таких проблем быть не должно... Скачать.
ALEXSOFT wrote:Qwertiy не лучше ли сделать стартовую страницу от яндекса (вместо topdownloads.ru) чем качать НЕТы всякие?
Каким образом? TopDownloads не является стартовой страницей, такой переход по команде Домой делает DM...

А .Net Framework 4 всё равно скачать стоит... Многие программы требуют более новую версию, чем 2 (обычно 3.5).
Кстати, если бы я написал эту программу в VS2010, то 4-я версия была бы обязательна для её запуска.

Re: Хочу чтобы встроили браузер в программу

Posted: 20 Jan 2011, 14:03 Thu
by ALEXSOFT
заработало, а толку 0, ни турбобит ни видео не качает

Re: Хочу чтобы встроили браузер в программу

Posted: 24 Jan 2011, 5:00 Mon
by ALEXSOFT
все? больше никому не надо чтоль?