![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
WildSpy |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 5.11.2005 Репутация: нет Всего: нет |
Такой вопрос, реально ли на VB получить низкоуровневый доступ к устройству, например винту?
И вообще, как это реализуется на любых языках? Объясните плз... |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 19 Всего: 99 |
Через драйверы. Это сообщение отредактировал(а) cardinal - 10.7.2007, 22:27 -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Что разумеется под словами "низкоуровневый доступ"?
Хочешь напрямую с портами ввода-вывода работать? пожалуйста, есть драйвер DirectIO... вот только ОС, пожалуй, обидится... можно напрямую с драйвером устройства поработать - через IOCTL или DirectIOControl, например... А вот самостоятельный драйвер устройства на VB, пожалуй, нереализуем. То есть формально это возможно, но получится сплошь инлайновый ассемблер... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
WildSpy |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 5.11.2005 Репутация: нет Всего: нет |
Просто мне нужно считать файл не стандартной функцией, а максимально быстро. И я так думаю, что для этого нужно получить низкоуровневый доступ к винту, как это делает например антивирус.
А потом ещё разобраться как считать файл. Подскажите что-нибудь. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
C этого места поподробнее. Задачу полностью, от самого начала. Почему максимально быстро? Один файл или то, какой файл потребуется, выбирается программно? его прогнозируемый размер? расположение (локальный, сетевой)? А то есть подозрение, что ты собрался микроскопом орехи колоть... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 3 Всего: 121 |
Это невозможно ни в каком виде при использовании компилятора VB. Самое быстрое, что тут можно придумать, помимо разбирая файловой системы, т.е. работы в RAW режиме, это самостоятельная посылка пакета в disk.sys, но в ВБ это нереализуемо. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
WildSpy |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 5.11.2005 Репутация: нет Всего: нет |
Да нет, файл определяется пользователем. Тут не суть важно, размер неизвестен. Но в среднем не больше 10 мег.
Файл бинарный, нужно как можно быстрее загрузить его в память. и еще один вопрос, есть код:
это код переводит файл в hex, типа как это делают WinHEX и т.д. Вопрос, как этот код ускорить, а то он работает ужасно медленно. |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 3 Всего: 121 |
Покажи, что у тебя на входе и что должно быть на выходе -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
WildSpy |
|
||||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 5.11.2005 Репутация: нет Всего: нет |
так понятнее? Это сообщение отредактировал(а) WildSpy - 11.7.2007, 11:43 |
||||
|
|||||
mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 11 Всего: 109 |
Естественно! Ты же работаешь с текстовыми переменными для того, чтобы числа перебрасывать из одной системы в другую... Сформулируй поточнее саму задачу, а не то, как ты её решал!!! |
|||
|
||||
WildSpy |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 5.11.2005 Репутация: нет Всего: нет |
Открыть файл и перевести его в hex, типа как это реализовано в hex-Редакторах типа WinHEX |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 3 Всего: 121 |
В Text1 поставь шрифт Courier New Это сообщение отредактировал(а) W4FhLF - 11.7.2007, 13:44 -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Читать лучше через FileSystemObject.ReadAll - 10 мег всасывается мгновенно. Это не лимитирует.
Лимитирует именно конвертация - медленные строковые функции... и совершенно правильное решение ускорить процесс за счет работы с фиксированным буфером. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
WildSpy |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 5.11.2005 Репутация: нет Всего: нет |
Огромное спасибо, работает. =)
|
|||
|
||||
WildSpy |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 5.11.2005 Репутация: нет Всего: нет |
Ещё один маленький вопрос, код написан достаточно сложно, т.е. как можно более компактно и не совсем понятен для меня.
Так вот, такой ламерский вопрос, как избавится от пробелов на выходе? т.е. чтобы между цифрами и буквами не было пробелов? убирать их replace'ом долго, а откуда они берутся не могу найти. Это сообщение отредактировал(а) WildSpy - 11.7.2007, 14:33 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "VB6" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | VB6 | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |