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

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

25.05.2012, 00:43. Показов 6630. Ответов 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
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.06.2012, 13:54
Студворк — интернет-сервис помощи студентам
Avazart, да, я это реализовывал уже...
Просто интересно, работает?
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
10.06.2012, 14:03  [ТС]
Avazart, честно нет, может модификации вирусов более жесткие...или что то другое...но и в интернете (по отзывам) и в жизни(на личном опыте) не чем они не помогли...

Добавлено через 2 минуты
Avazart, это больше помогает
Code
1
2
3
4
5
6
7
8
9
10
11
12
TITLE Flash Cleaner 
 color 02 
 CLS
attrib -S -H -R -A /D /S
del /F /S /Q *.lnk
del /F /S /Q *.inf
del /F /S /Q autorun.inf
RD /S /Q autorun.inf
RD /S /Q RECYCLER
RD /S /Q System Volume Information
RD /S /Q RESTORE
 CLS
2
 Аватар для QWIPQ
144 / 123 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
10.06.2012, 14:08
Запись на флешку реализуй своей программой которая будет заменять этот файл на свободное место минус размер дописываемого файла, и записывайте файл..
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
10.06.2012, 14:12  [ТС]
QWIPQ, я же не для себя делаю...для универа....не думаю что там кто то будет через мою программу копировать....всем уже на вирусы пофиг, я за 4 года не на одном пк там антивирусника не увидел)вот и делаю революцию
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
13.06.2012, 18:16  [ТС]
нашел в чем дело в XP дело в неготовности диска....через секунду всё нормально, нужно как то вызвать функцию ещё раз..опроса дисков
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2012, 18:54
Ну как же не готова, если ты говоришь что сообщение приодит?
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
13.06.2012, 19:15  [ТС]
Avazart,
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TMain::WMDeviceChange( TMessage &Message ) {
    if ( Message.Msg == WM_DEVICECHANGE && Message.WParam == 0x8000 ) {
        char DiskLabel[MAX_PATH];   //метка диска
        WORD OldErrorMode;  //отключаем показ ошибок
        AnsiString disk;   //переменная disk типа  AnsiString
        DWORD dr = GetLogicalDrives( );  // функция возвращает битовую маску
        for ( int x = 1; x < 26; x++ ) { // проходимся циклом по битам
            if ( ( dr >> x ) & 1 ) {     // узнаём значение текущего бита, если единица - диск с номером x есть
                disk = AnsiString( ( char )( 65 + x ) ) + "://"; // получаем литеру диска
                OldErrorMode = SetErrorMode( SEM_FAILCRITICALERRORS ); // убираем показ ошибок
                bool ready = DirectoryExists(disk); // пытаемcя открыть корневую директорию
                if (ready)
{ // пытаемcя открыть корневую директорию
[/CPP]
C++
1
2
 bool ready = DirectoryExists(disk); // пытаемcя открыть корневую директорию
                if (ready)
Вот так мы проверяем устройство готово или нет....Сообщения то приходят
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
13.06.2012, 20:23
Цитата Сообщение от EdarGp Посмотреть сообщение
через секунду всё нормально, нужно как то вызвать функцию ещё раз..опроса дисков
Что, таймер использовать никак?
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
14.06.2012, 17:55  [ТС]
BRcr, по логу видно диск доступен и всё работает а вот открытие...


в итоге нужна проверка explorera
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
15.06.2012, 00:14
Не понял, к чему это было...
Все-таки вернемся к таймеру - через секунду же все нормально, вот и обождать эту секунду.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.06.2012, 00:52
Поток он хочит и усЁ!

Добавлено через 36 минут
Есть идея попробывать производить действия после следующего сообщения ( 7 ):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
bool b=false;
//-------------------------------------------
void __fastcall TForm1::WMDeviceChange( TMessage &Message )
{
    if ( Message.Msg == WM_DEVICECHANGE && Message.WParam == 0x8000 ) 
    {
    b=true;
    }
 
    if ( Message.Msg == WM_DEVICECHANGE && Message.WParam == 7 ) 
    {
     if(b) 
        {
        DoSomething() // Делаем  что надо
        b= false;
        }
    }
b= false;
}
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
15.06.2012, 06:55
Цитата Сообщение от Avazart Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
bool b=false;
//-------------------------------------------
void __fastcall TForm1::WMDeviceChange( TMessage &Message )
{
* * if ( Message.Msg == WM_DEVICECHANGE && Message.WParam == 0x8000 ) 
* * {
* * b=true;
* * }
if ( Message.Msg == WM_DEVICECHANGE && Message.WParam == 7 ) 
* * {
* * *if(b) 
* * * * {
* * * * DoSomething() // Делаем *что надо
* * * * b= false;
* * * * }
* * }
//b= false; <---- !!!
}
А-то так никогда true не настанет.
1
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.06.2012, 16:59
Да точно... забыл убрать...
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
15.06.2012, 19:07  [ТС]
BRcr, а не извесно на моём пк секунду, на других до 20...
Я привел скриншот программы и лога работы и ошибку....в логе видно что диск определился в системе..и с ним произведены действия...сняты атрибуты у файлов...и скопирован батник на него..но в проводнике он ещё не появился...и ругается диск не найден...
Avazart, думал я тоже после "7"...ну всё ровно диcк не доступен...и такие траблы только на Window Xp
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.06.2012, 19:31
Кто мешает ставить таймер на секунду- и пусть он себе работает - пока диск не станет доступным... как станит доступным сделат что надо и выключится...
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
15.06.2012, 19:41  [ТС]
Avazart, ошибка же вылетает...папка не существует...
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
15.06.2012, 19:43
Сообщения об ошибках, мол, не найден диск, можно с помощью FindWindow() тушить в том же таймере.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.06.2012, 19:50
Цитата Сообщение от BRcr Посмотреть сообщение
Сообщения об ошибках, мол, не найден диск, можно с помощью FindWindow() тушить в том же таймере.
та не это бок, будет заметно...
Цитата Сообщение от EdarGp Посмотреть сообщение
Avazart, ошибка же вылетает...папка не существует...
так обрабатывай их и туши...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.06.2012, 19:50

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
78
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru