Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.52/33: Рейтинг темы: голосов - 33, средняя оценка - 4.52
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1

Как в потоке организовать открытие флешки

25.05.2012, 00:43. Показов 6406. Ответов 77
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как уже все слышали у меня есть 2 проблемы
1)Открытие проводника при подключении флэшки (на XP) на 7 всё ок, Xp не может быстро сооброзить
2)Программа удаляет файлы с флэшки до появления флэшки в проводнике, и как только флэшка появляется в проводнике другая программа заново их копирует на флэшку, а мне нужно их удалить)
Ставить на таймер как то не профессионально :| гыыы, умные люди советуют в поток...
Как создать какой-нить элементарный поток(Thread например),также в потоке организовать открытие флешки чтоб все шло по порядку а все значения передавались после открытия например.
А как его реализовать то???
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.05.2012, 00:43
Ответы с готовыми решениями:

Как организовать открытие другой формы в соответствии поставленого флажка
Всем привет. Как организовать открытие другой формы в соответствии поставленого флажка Пример Форма А - Форма Б -

Открытие окна в новом потоке.
Есть основное окно, на котором находиться кнопка, и другие контролы. При её нажатии обрабатывается достаточное большое количество данных и...

Открытие формы в отдельном потоке
Добрый день, такой вопрос: имеется главная форма, на ней кнопка, которая делает любую длительную операцию. Создал отдельную форму на ней...

77
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
26.05.2012, 00:42  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Avazart Посмотреть сообщение
с Xp вот засада...
У меня Windows 7
Avazart,
Цитата Сообщение от Avazart Посмотреть сообщение
0x8000
я его и использую....
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.05.2012, 00:52
При чем тут это?
Я говорю: проверь( !!! ) тем кодом который я приводил по ссылке... чего гадать?
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
26.05.2012, 01:13  [ТС]
Avazart, код работает но есть НО, скажем так 0x8000 это код появления диска в системе, а мне нужно в проводнике....
моя программа должна удалять файлы с флэшки- (2 раза!!!!!)
1->С кодом 0x8000 он удаляет, до появления флэшки в проводнике.
а мне нужно и сражу же и при появлении в проводнике.

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
7
7
7
7
7
32772
25.05.2012 23:56:43  -  USB-накопитель отключен
7
7
7
7
32768
7
7
7
Добавлено через 7 минут
C++
1
2
3
4
void __fastcall TMain::WMDeviceChange( TMessage &Message ) {
    if ( Message.Msg == WM_DEVICECHANGE && Message.WParam == 32768 ) {
ShowMessage("heloo");
срабатывает
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.05.2012, 01:25
Если система видит флешку, то можно делать то что нужно...
И проводник тут не показатель...Ну если вам хочится то в чем проблема? - используйте код который в теме Samrisbe
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
26.05.2012, 01:33  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Если система видит флешку, то можно делать то что нужно...
моя программа удаляет папку RECYCLER с флэшки, если на пк нет вируса то всё замечательно
но если есть вирус то RECYCLER сразу же создается после того как удалит его моя программа.
Я могу допустим поставить таймер через секунду что бы удалило папку заново, или отследить ЧТО то
Таймер не красиво и не правильно...
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.05.2012, 01:37
Правильно убить вирус чтоб не копировал, либо отслеживать изменения в каталогах флешки, либо пресекать само копирование на флешку.

Ведь кто будет чистить флешку после открытия проводника?

Ну либо попросту чистить флешку при отключении...
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
26.05.2012, 01:44  [ТС]
Avazart, убить вирус может только антивирусник...а его нет)

Цитата Сообщение от Avazart Посмотреть сообщение
либо отслеживать изменения в каталогах флешки,
??...наверно

Цитата Сообщение от Avazart Посмотреть сообщение
либо пресекать само копирование на флешку.
то что копирует туда папку имя произвольное и не знаешь как с генерируется
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.05.2012, 01:49
то что копирует туда папку имя произвольное и не знаешь как с генерируется
Спаршивать у пользователя разрешения либо делать проверку-зачистку после копирования.
либо отслеживать изменения в каталогах флешки
Ну есть такой способ называется "мониторинг каталогов" но я не уверен что он будет работать с флешкой.(использовал в одной своей программе)

Добавлено через 2 минуты
Avazart, убить вирус может только антивирусник...а его нет)
Так и у вашей программы нет гарантий что она правильно зачистит флешку...
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
26.05.2012, 01:54  [ТС]
Avazart, ну гарантий нету, ну главные функции работают, осталось сделать это)
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
28.05.2012, 01:19  [ТС]
Avazart, а как мне в поток все повешать? что бы через 3 секунды функция повторилась
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.05.2012, 01:30
Так в таймере сделай - зачем тут поток?
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
28.05.2012, 01:48  [ТС]
Avazart, я то так и делал но это не красиво и не профессионально

Добавлено через 2 минуты
Цитата Сообщение от Avazart Посмотреть сообщение
while( ! /*проверка готовности*/) ;
/* выполнение удаления */
или как это сделать
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.05.2012, 01:58
или как это сделать
Ну так я об этом уже говорил надо искать способ проверки.

Добавлено через 1 минуту
Avazart, я то так и делал но это не красиво и не профессионально
Это логично, если нет способа проверить готовность...
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
28.05.2012, 02:06  [ТС]
Avazart, у меня время сутки а остались только это, покуда что
Может что нибудь подскажите , то крыша поедит...
а если повеситьв поток функцию которая будет
на счёт 2 пункта
C++
1
2
3
4
if(GetDriveType(Edit1->Text) == DRIVE_NO_ROOT_DIR)(или что то вроде этого
повторить команду)
else
 открыть диск)
Добавлено через 55 секунд
Avazart, на Xp задержка появления диска в проводнике около 1 секунды
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.05.2012, 02:20
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
String Disk;
HANDLE hChange, hT;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//--------------------Ф-ция  потока--------------------------------------------------
DWORD WINAPI ThreadFunc(LPVOID)
{
while(GetDriveType(Disk.c_str()) == DRIVE_NO_ROOT_DIR);
ShowMessage("Готово!");
return 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Disk=Edit1->Text;
 
DWORD lpThreadId;
hT= CreateThread(NULL,0,ThreadFunc,NULL,0,&lpThreadId); // Запуск потока
}
//---------------------------------------------------------------------------
Пробуй, но как по мне с потоком хуже нежеле через таймер.
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
28.05.2012, 02:29  [ТС]
Avazart, вот интерфейс подделал)
Я сегодня днём на Xp повоюю с открытием, отпишусь, спасибо за помощь
Миниатюры
Как в потоке организовать открытие флешки  
1
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
28.05.2012, 02:57
EdarGp, бахнули бы Альфу что ли))
Дык а кнопочки какие-то невыразительные... Или это бета-версия?)
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
28.05.2012, 10:40  [ТС]
The_Immortal, не альфу не хочу)сколько проблем с ней было.....
а особенно как программа на диплом...
а кнопки это по приколу)
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
28.05.2012, 11:12  [ТС]
Avazart, с потоком загружает одно ядро..и ShowMessage не видно.
Миниатюры
Как в потоке организовать открытие флешки  
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.05.2012, 16:26
с потоком загружает одно ядро
Ясное дело там же бесконечный цикл крутится...
На код кнопки засунуть в обработчик события который ловит сообщения о подключении флешки.
Тогда бы загрузка была бы только в момент подключения...

Ну на Win7 без проблем мессадж выскакивает- ну такое может быть с мессаджами.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.05.2012, 16:26

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

Ярлык на открытие флешки
Здравствуйте уважаемые специалисты CyberForum. Благодарю за вашу бесценную работу. Прошу описать вкратце логику создания...

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

Как получить значение переменной созданной в потоке, в другом потоке?
Добрый день :) Возник такой вопрос "как получить значение переменной созданной в потоке, в другом потоке?" Не знаю, как правильно...

Ошибка флешки - Ярлык на открытие флешке в самой ней!
У меня на флешке какойто странный вирус!!! Открываю я флешку через мой комп*ютер, там внутри ярлык на эту же флешку...когда я его открываю...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
28. КОнкретное развертывание плана номер 1 из поста номер 27
anaschu 22.06.2026
Можно ли из модели получить конкретные строительные требования? Честно — напрямую из текущей модели такие ответы не получить. Но цепочка логики есть, и она не такая длинная. Где разрыв . . .
27. Планы на разработку функциональных требований к строительству внутри модели пищеблока (или не только его?)
anaschu 22.06.2026
Что уже реализовано и даёт конфликты «бесплатно» Самый простой конфликт уже работает — конфликт за ресурс-работника. Заданий больше, чем доступных поваров → очередь в queue1. Это прямое отражение. . .
26. мед мат модель.Какие типы конфликтов функциональных требований можно рассчитать через ДЕС-моделирование (СМО) в AnyLogic?
anaschu 22.06.2026
Что ДЕС/ СМО умеет считать напрямую: Конфликты за ресурсы (очереди, узкие места). Несколько типов агентов (повара, учителя, рабочие, пациенты) претендуют на один ресурс (лифт, вход, коридор,. . .
25 модель здравосохранения и функциональных требований к пищеблоку: конфликты функциональных требований.
anaschu 22.06.2026
Есть ли данные о том, какие функциональные/ эксплуатационные требования или их сочетания труднее всего учитывать при проектировании зданий? Да, такие данные есть, и они хорошо описаны и в российской,. . .
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу: https:/ / github. com/ altbodhi/ ReConMan По итогу пришел к мысли, что DU не дружат с существующими технологиями. От сериализации до отображения в реляционную. . .
Администрация Хабра удаляет новые энрегоэфективные алгоритмы, которые не западной школы кода, и вовсе никак не сгенерировавны.
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2. Задача: контроль уникальности строк в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru