Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.58/92: Рейтинг темы: голосов - 92, средняя оценка - 4.58
-18 / 3 / 0
Регистрация: 12.01.2014
Сообщений: 210

Как скачать файл с rghost?

12.06.2014, 21:26. Показов 18835. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не качает с rghost
качает только по прямым ссылкам с расширением и полным путем к файлу например www.test.ru/1.exe
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.06.2014, 21:26
Ответы с готовыми решениями:

Скачать файл с RGHost.ru
Как мне в delphi XE8 скачать файл RgHost (или любой другой файловый обменник, Google Drive например)? Надо что-бы процесс показывался в...

Не скачивается файл с сервера rghost
Вроде все села правильно,но почему не скачивается??? Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object,...

Как найти ссылку на файл css в html и скачать этот файл?
как найти ссылку на .css в html и скачать этот файл с таким же названием? не могу найти за что зацепиться для поиска. единственное что в...

22
20.06.2014, 21:45
Студворк — интернет-сервис помощи студентам

Не по теме:

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




0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
22.06.2014, 14:13
Антихакер32, я тебе могу назвать много причин почему твой код кривой, и назвать ситуации в которых твой код не будет работать. Я так и не понял для чего нужно использовать нативную DLL и внешний EXE. Для чего делать End при неудачном подключении? Чтобы программа не работала без твоих "суперкодов"? Что ты будешь делать если твой код будет запускаться в папке, имя которой около MAX_PATH символов?
Что это такое?
Visual Basic
1
Do: DoEvents: s = b: Get #f, 1, b: Loop While s <> CStr(b)
У меня это вообще не работает.
0
22.06.2014, 15:32

Не по теме:

я сейчас основательно все переделываю вот часть кода утилиты...

Модуль

Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Option Explicit
Global Const r = "/", z = ",", k = "\", NameFilter = "[!0-9!a-z!A-Z!а-я!А-Я!Ё!ё!_]"
Dim clsSInst As New clsSInst
 
Sub CallArg(ByVal ArgLine As String)
    Dim f&, J$(1), Arg(), Result As Variant
    On Error Resume Next
    For f = 1 To Len(ArgLine):  If Mid$(ArgLine, f, 1) Like NameFilter Then Exit For
        J(0) = J(0) & Mid$(ArgLine, f, 1)
    Next: J(1) = Trim(Mid$(ArgLine, f))
    If Asc(J(1)) = Asc("=") Then
        Result = CallByName(clsSInst, J(0), VbLet, Trim$(Mid$(J(1), 2)))
    Else
        Arg = TrimArrVar(Split(J(1), z))
        Result = CallByName(clsSInst, J(0), VbMethod, Arg)
        If Err.Number = 450 Then
            Result = CallByName(clsSInst, J(0), VbLet, Arg(0))
            Exit Sub
        End If
    End If
End Sub
 
Sub Main()
    Dim Arg() As Variant, J$(), f&, u&
 
    '----------------------------------
    On Error Resume Next: DeleteSetting App.Path
    On Error GoTo 0
    J = TrimArrStr(Split(Command$, r))
    For f = 0 To UBound(J):  If Len(J(f)) Then CallArg J(f)
    Next
 
End Sub
 
Function TrimArrVar(Arr) As Variant()
    'Удаляет передние и задние пробелы в массиве
    '
    Dim f&: ReDim v(UBound(Arr)): For f = 0 To UBound(Arr): v(f) = Trim(Arr(f)): Next: TrimArrVar = v
    TrimArrVar = v
End Function
 
Function TrimArrStr(Arr) As String()
    'Удаляет передние и задние пробелы в списке
    '
    Dim f&, J$(): J = Arr: For f = 0 To UBound(Arr): J(f) = Trim(Arr(f)): Next: TrimArrStr = J
End Function


класс
Кликните здесь для просмотра всего текста


Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
Option Explicit
 
Const TH32CS_SNAPTHREAD = &H4
Const SYNCHRONIZE = &H100000
'
Private Type THREADENTRY32
    dwSize As Long
    cntUsage As Long
    th32ThreadID As Long
    th32OwnerProcessID As Long
    tpBasePri As Long
    tpDeltaPri As Long
    dwFlags As Long
End Type
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function OpenThread Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwThreadId As Long) As Long
Private Declare Function Thread32First Lib "kernel32" (ByVal hSnapshot As Long, ByRef lpte As THREADENTRY32) As Long
Private Declare Function Thread32Next Lib "kernel32" (ByVal hSnapshot As Long, ByRef lpte As THREADENTRY32) As Long
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
'
Dim FSO As FileSystemObject ' Object
Dim ShellApp As Shell, LogStream As TextStream, LogStreamRead As TextStream
'
Dim FileVB6_EXE$, m_OutDir$, m_ZipName$, m_InitDir$, OldDir$
 
Public Function CreateFolder(ByVal AbsPath$) As Boolean
    'Проверяет путь и при не обходимости создаёт недостающие папки
    '
    Dim f&, J$(), S$, LS$
    CreateFolder = FSO.FolderExists(AbsPath)
    If CreateFolder Then Exit Function
    '---------------
    J = Split(AbsPath, k)
    On Error GoTo Errr
    For f = 0 To UBound(J)
        S = S & J(f) & k
        If Not FSO.FolderExists(S) And f = 0 Then
            Exit Function 'Драйвер указан не верно
        ElseIf Not FSO.FolderExists(S) Then
            Call FSO.CreateFolder(S): LS = S
        End If
    Next
    CreateFolder = FSO.FolderExists(AbsPath)
    If Len(LS) Then LogStream.WriteLine Now & "[CreateFolder]" & FSO.GetAbsolutePathName(LS)
Errr:
End Function
 
 
Public Property Let InitDir(ByVal vNewValue As String)
    If FSO.FolderExists(vNewValue) Then
        m_InitDir = FSO.GetAbsolutePathName(vNewValue)
        ChDir m_InitDir
        LogStream.WriteLine Now & "[InitDir]" & m_InitDir
    End If
End Property
 
Public Property Let ZipName(ByVal vNewValue As String)
    If LCase(FSO.GetExtensionName(vNewValue)) = "zip" Then
        m_ZipName = FSO.GetAbsolutePathName(vNewValue)
        LogStream.WriteLine Now & "[ZipName]" & m_ZipName
    End If
End Property
 
Public Property Let OutDir(ByVal vNewValue As String)
    m_OutDir = FSO.GetAbsolutePathName(vNewValue)
    LogStream.WriteLine Now & "[OutDir]" & m_OutDir
End Property
 
Function GetThreadsList() As Long()
    'Возвращает список потоков
    '
    Dim hSnap&, TE As THREADENTRY32, PID&, Lst&(), u&, i&
    hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0)
    If hSnap = -1 Then Exit Function
    u = 10: i = -1: ReDim Preserve Lst(u)
    TE.dwSize = Len(TE)
    PID = GetCurrentProcessId()
    If Thread32First(hSnap, TE) Then
        Do
            If TE.th32OwnerProcessID = PID Then
                i = i + 1: Lst(i) = TE.th32ThreadID
                If i > u Then u = i * 2: ReDim Preserve Lst(u)
            End If
        Loop While Thread32Next(hSnap, TE)
        ReDim Preserve Lst(i)
    End If
    CloseHandle hSnap
    GetThreadsList = Lst
End Function
 
 
Public Function ToZip(Paths()) As Long
    Const LenRandName = 10
    Dim Zip As Folder3, Path$, f&, oldThreads&(), newThreads&(), hTrd&
    LogStream.WriteLine Now & "[ToZip]"
    If Len(m_ZipName) = 0 Then
        Randomize Timer: m_ZipName = Space$(LenRandName)
        For f = 1 To LenRandName: Mid$(m_ZipName, f, 1) = Chr$(97 + Fix(Rnd * 26))
        Next: m_ZipName = m_OutDir & k & m_ZipName & ".zip": GoTo NewZip
    ElseIf CreateFolder(FSO.GetParentFolderName(m_ZipName)) Then
NewZip:
        If Not FSO.FileExists(m_ZipName) Then
            FSO.CreateTextFile(m_ZipName, True).Write "PK" & Chr(5) & Chr(6) & String(18, 0)
            LogStream.WriteLine Now & "[CreateZip]" & FSO.GetAbsolutePathName(m_ZipName)
        End If
    End If
 
    Set Zip = ShellApp.NameSpace(FSO.GetAbsolutePathName(m_ZipName))
    For f = 0 To UBound(Paths)
        Paths(f) = FSO.GetAbsolutePathName(Paths(f))
        If FSO.FileExists(Paths(f)) Or FSO.FolderExists(Paths(f)) Then Else GoTo Next_F
        If GetAttr(Paths(f)) And vbDirectory Then _
        If ShellApp.NameSpace((Paths(f))).Items.Count = 0 Then GoTo Next_F 'Пропускать пустые папки
        'Сравнение старых и новых потоков
        oldThreads = GetThreadsList: Zip.CopyHere ((Paths(f))): newThreads = GetThreadsList
        If UBound(newThreads) > UBound(oldThreads) Then
            hTrd = OpenThread(SYNCHRONIZE, False, newThreads(UBound(newThreads)))
            WaitForSingleObject hTrd, -1 'Ждать завершения операции сжатия
            CloseHandle hTrd
        End If
        ToZip = ToZip + 1
Next_F:
    Next
End Function
 
Public Function Make(Files()) As Long
    'Автокомпиляция проекта
    'Files = Список компилируемых файлов
    Dim FileName$, mDir$, ShellNum&, hProc&, f&
    LogStream.WriteLine Now & "[Make]"
    If Not CreateFolder(m_OutDir) Then LogStream.WriteLine Now & "[Error]" & m_OutDir: Exit Function
    mDir = """" & m_OutDir & """"
    For f = 0 To UBound(Files)
        Files(f) = FSO.GetAbsolutePathName(Files(f))
        If Not FSO.FileExists(Files(f)) Then GoTo Next_F
        Select Case LCase(FSO.GetExtensionName(Files(f)))
        Case "vbp", "vbg": Case Else: GoTo Next_F
        End Select: FileName = """" & Files(f) & """"
        ShellNum = Shell(FileVB6_EXE & " /Make " & FileName & " /OutDir " & mDir)
        hProc = OpenProcess(SYNCHRONIZE, False, ShellNum)
        Call WaitForSingleObject(hProc, -1)
        CloseHandle hProc
        Make = Make + 1
Next_F:
    Next
    
End Function
 
Private Sub Class_Initialize()
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set LogStream = FSO.CreateTextFile(App.Path & "\LogStream.txt", 1)
    LogStream.WriteLine Now & "[Start]" 'Начало ведение лога
    Set ShellApp = CreateObject("Shell.Application")
    FileVB6_EXE = """" & Environ("ProgramFiles") & "\Microsoft Visual Studio\VB98\VB6.EXE" & """"
    OldDir = CurDir$: m_OutDir = OldDir: m_InitDir = OldDir
End Sub
 
Private Sub Class_Terminate()
    ChDir OldDir
    LogStream.Close 'Закрытие потока записи лога
End Sub


Добавлено через 7 минут
Вобщем там есть еще откат действий, при неудачной попытке..
и еще болшую часть кода я не стану пока демонстрировать

там запуск программы от имени администратора
такой вот говнокод...

Добавлено через 8 минут
утилита запускается обычным способом через шелл
общается через лог, а код создания иконки я тоже нашел..
там правда километровая портянка получилась... тоже как-то надо
все упаковатт и Downloader тоже отдельная dll, но она зашифрованна в ресурсе
алгоритм шифра постарался сделать максимально быстрым.

Добавлено через 6 минут
..вчера весь день потратил на поиск решения
как в своем-же почтовом акаунте, программно обновлять аттачменты..
так и не нашел, и в интернети почти нет инфы

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.06.2014, 15:32
Помогаю со студенческими работами здесь

Как скачать файл большой файл в Делфи?
Как скачать файл большой файл в Делфи? Без TMemoryStream; Работающих примеров не нашел...

Как скачать файл ?
Есть форма обратной связи. Хочу сделать чтоб при нажатии на кнопку отправить еще и скачивался файл который лежит в корне сайта. HTML...

Как скачать файл?
как поставить на кнопку , прямое скачивание , чтоб нажал когда на кнопку скарзу пашло скачивание язык C# Windows Form

Как программно скачать файл?
как программно скачать файл? вот мои код procedure TForm3.btn1Click(Sender: TObject); var mem:TMemoryStream; begin ...

Как скачать файл с сайта
Как скачать файл с сервера сайта плиз подскажите. WebRequest может быть поможите.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru