| Буддист | Дата: Среда, 11-Мар-2009, 22:23:53 | Сообщение # 1 |
Коллежский секретарь
Группа: Пользователи
Сообщений: 9
Награды: 0
Репутация: 1
Замечания: 0%
Cтрана: Украина
Город: Днепропетровск
Статус: Offline
| Интересно было б реализовать функционал закачки файлов в приложении. Для этого я решил использовать URLDownloadToFile из urlmon.dll. Она почему то не отрабатывает. Для теста в этом же коде использовал и фунуцию OpenInternet. С интом вроде как коннектится, но файлы качать не хочет. n.b. никаких предварительных настроек не делал . Пишу на VB 2008 вначале у меня Code Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Private Const INTERNET_OPEN_TYPE_PRECONFIG = 0 Private Const INTERNET_OPEN_TYPE_DIRECT = 1 Private Const INTERNET_OPEN_TYPE_PROXY = 3 Private Const scUserAgent = "VB Project" Private Const INTERNET_FLAG_RELOAD = &H80000000 Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hOpen As Long, ByVal sUrl As String, ByVal sHeaders As String, ByVal lLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, ByVal lNumberOfBytesRead As Long) As Integer Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer ЗАТЕМ Code Private Sub OpenURL(ByVal sUrl As String) Dim hOpen As Long Dim hOpenUrl As Long Dim bDoLoop As Boolean
'Dim sReadBuffer(2048) As String
' Dim sBuffer As String Dim DownLoadFile As Boolean hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0) hOpenUrl = InternetOpenUrl(hOpen, sUrl, vbNullString, 0, INTERNET_FLAG_RELOAD, 0) bDoLoop = True
If URLDownloadToFile(0, "http://www.myjulia.ru/data/cache/2008/11/11/14155_5000-150x0.jpg", "c:\image.jpg", 0, 0) = 0 Then DownLoadFile = True Else DownLoadFile = False End If MsgBox(DownLoadFile) If hOpenUrl <> 0 Then InternetCloseHandle(hOpenUrl) End If If hOpen <> 0 Then InternetCloseHandle(hOpen) End If
End Sub Подскажите пожалуйста в чем же может быть дело?...
Мы - не янки. Мы - славяне. Наши братья - россияне
|
| |
| |
| pushkin42 | Дата: Среда, 11-Мар-2009, 22:46:56 | Сообщение # 2 |
Куровод, садист-укладчик
Группа: Администраторы
Сообщений: 1969
Награды: 9
Репутация: 36
Сеть: Гибридная
Количество машин:: 226
Cтрана: Российская Федерация
Город: Самара
Статус: Offline
| Лучше б ты на С++ писал... Или на C# на крайняк... Сликом много гемора с VB возникает Зачем тебе внешние библиотеки, штатного функционала не хватает?
Работаю за плюсики в репутацию и за пиво. Ремонт компьютеров в Самаре 
|
| |
| |
| Буддист | Дата: Четверг, 12-Мар-2009, 10:55:33 | Сообщение # 3 |
Коллежский секретарь
Группа: Пользователи
Сообщений: 9
Награды: 0
Репутация: 1
Замечания: 0%
Cтрана: Украина
Город: Днепропетровск
Статус: Offline
| Благодарю. Вопрос закрыт! Проблема решена!
Мы - не янки. Мы - славяне. Наши братья - россияне
|
| |
| |