![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
Компилятор |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.3.2007 Репутация: нет Всего: нет |
Скажите пожалуста как определить что дискетка появилась в дисководе, у меня есть один пример но он очень шумный, дисковод трещит тем более я его вызываю в цикле.
Может есть более приемлимые пути. Например может как-то перехватить сообщение от процесса который обращается к диску наподобие программы Filemon, Или системные вызовы. Заранее спасибо. |
|||
|
||||
Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: нет Всего: 29 |
Вообще в поиск, т.к. такие вопросы уже были. Но, ИМХО, твой способ единственный, т.к. дисковод вроде никак не сообщает компу, что в него вставили дискету.
|
|||
|
||||
Компилятор |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.3.2007 Репутация: нет Всего: нет |
В моем коде программа обращается к дисководу обрабатывает исключения проверяет есть ли ошиба и возращает значение мне но при обращенние дисковод оч трещет. и это заметно для юзера МОЖЕНО КАК ТО ПЕРЕХВАТИТЬ СООБЩЕНИЕ ОТ ЕXPLORERA
|
|||
|
||||
Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: нет Всего: 29 |
Какое сообщение ![]() Это сообщение отредактировал(а) Damarus - 8.3.2007, 12:24 |
|||
|
||||
Компилятор |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.3.2007 Репутация: нет Всего: нет |
Привет люди хочу с вами поделиться,тем что сегодня открыл.
Вобщем была такая проблема, с моей программой должен был идти драйвер (незаметно) ![]() Я подумал, и написал програму, кторая внедряет в программу файл на этапе проекта. Как пользоваться: Жмем "Открыть" выбираем файл который надо внедрить (Желательно не боллее 50 кб) потом "Сохранить" и сохраняем в виде файла *.pas а потом в проекте его подключаем например uses includex И вызвать процедуру includeFile;
Этот метод годится только для маленьких файлов, при подключение большого Delphi все ресурсы сожрет и скажет не хватает памяти. Скажите есть ли другие способы внедрения файлов на этапе проекта? Исходники здесь RinOS Добавлено @ 16:28 Damarus, я тебя понял, но смотри, юзер сунул дискетку и пытается ее открыть через эксплорер и в случае существования он её откроет иначе эксплорер ему скажет извини нету дискетки. Как узнать что эксплорер сейчас открыл А:\ типа программы FileMon она же както показывает |
|||
|
||||
bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: 3 Всего: 29 |
||||
|
||||
Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: нет Всего: 29 |
Это уже другой вопрос. Перехватывай функции доступа к файлам, хотя бы CreateFile и смотри результат. |
|||
|
||||
Компилятор |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.3.2007 Репутация: нет Всего: нет |
bartram
Ну я тоже работаю в 0 кольце через драйвер, а еще я реализовал свою идейку немного другим споссобом. Допустим юзер отркрыл диск а в explorere в caption написано Диска А: и функцией findwindows ищем это окно и проверяем естьли диск той функцией. Но это не слишком надёжно ведь могут быть и другие окна с другим содержанием. Вот к примеру когда я засуну диск с вирусом каспер молчит но когда я попытаюсь открыть его через что ни будь (не только через експлорер) а с помощью cmd и total comander он сообщит о том что обнаружен вирус. Вот хотелось бы чтото подобное реализовать помогите! Damarus как прехватить CreateFile по подробнее инфа где ни будь есть? |
|||
|
||||
bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: 3 Всего: 29 |
В соседней теме почитай Касперский перехватывает ZwQueryDirectoryFile в ядре, и FindFileNext в пользовательском режиме соответственно. Почитай про Перехват Api Это сообщение отредактировал(а) bartram - 12.3.2007, 12:59 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |