Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 26.03.2013
Сообщений: 114

Можно ли создать событие при открытии папки?

11.02.2014, 13:01. Показов 2039. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте у меня такой вопрос возможно ли в с++ билдер создать событь по открытию локального диска например
if(открывается локальный диск D (D)
{
выполняется действие
}
и поставить его на таймер
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.02.2014, 13:01
Ответы с готовыми решениями:

При открытии папки с файлами создаются новые папки / Windows 7
Здравствуйте! У меня Windows 7, недавно стали создаваться автоматическом папки. Только открою какую нибудь папку с файлами и тут раз и...

При открытии папки с файлами создаются новые папки
Здраствуйте ! У меня Windows 7 недавно стали создаватся автоматическом папки -New Folder,HOT,WallPapers,Show и так дальше . Только открою...

Событие при открытии документа
Напишите решение сюда, чтобы никому никуда писать и ждать ответа не приходилось.

8
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33402 / 21512 / 8236
Регистрация: 22.10.2011
Сообщений: 36,912
Записей в блоге: 12
11.02.2014, 14:02
Что значит "открывается локальный диск D"? Пришел дядя с отверткой и его вскрывает? Или пользователь открывает Windows Explorer с содержимым этого диска? Или пользователь запускает какую-то свою программу которая любым образом обращается к диску D? Конкретизируй вопрос...
1
1 / 1 / 0
Регистрация: 26.03.2013
Сообщений: 114
12.02.2014, 01:46  [ТС]
Нажать на ярлык мой компьютер и через проводки открыть к примеру локальных диск D и в этот момент сработало событие в котором я напишу нужный мне код!!!

Добавлено через 6 часов 1 минуту
мне нужно написать программу которая будет все время работать и проверять не открылась ли опреденная папка и если ее открыли то все ее содержимое удаляеться
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
12.02.2014, 08:43
кто то заметает следы =) удаляя коллекции немецкого киноматографа?
0
☆ Форумчанин(FSC)☆
 Аватар для 2ima
911 / 292 / 27
Регистрация: 28.04.2013
Сообщений: 2,466
Записей в блоге: 10
12.02.2014, 09:51
Можно попробовать реализовать путем сравнения имени текущего окна с именем вашего диска, егде если названия совпадают сделать что-то....
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
12.02.2014, 10:10
Нет. Все это полумеры. Надо копать в сторону глобального хука, перехватывающего все сообщения о работе с файловой системой и фильтрующего все это дело на наличие обращения по конкретному пути.
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
12.02.2014, 10:21
может что то такое?
Обработчик события: открытие проводника и выбор папки
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
12.02.2014, 11:51
Лучший ответ Сообщение было отмечено dimon-limon как решение

Решение

Вот отсюда можно начать: https://www.cyberforum.ru/post2114136.html.



Добавлено через 1 час 26 минут
Можно было бы и без хука, но самое интересное то, что у папки нет атрибута - когда ее там просматривали последний раз. У файла есть, а вот у папки нет.
А то бы можно было бы вот так:
C++
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
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner), closeNow(false)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 
wchar_t *spyDirName = L"D:\\111";
HANDLE ChangeHandle;
 
ChangeHandle = FindFirstChangeNotification(
                                           spyDirName,
                                           false,
                                           FILE_NOTIFY_CHANGE_LAST_ACCESS
                                           +FILE_NOTIFY_CHANGE_ATTRIBUTES
                                           );
 
// + Проверка на существование папки в принципе
if( ChangeHandle != INVALID_HANDLE_VALUE )
  while( !closeNow )
    {
    Edit1->Text = random( 100 );    // Просто так, чтобы видеть,
    Application->ProcessMessages(); //  что приложение не висит
    if( WaitForSingleObject( ChangeHandle, 500 ) == WAIT_OBJECT_0 )
      {
      // Если дождались изменений, то что-то делаем здесь
      ShowMessage( "CHANGE!!!" );
      }
    FindNextChangeNotification( ChangeHandle );
    }
int err = GetLastError();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
{
closeNow = true;
}
1
1 / 1 / 0
Регистрация: 26.03.2013
Сообщений: 114
15.02.2014, 21:37  [ТС]
спасибо большое это как раз что мне нужно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.02.2014, 21:37
Помогаю со студенческими работами здесь

Запуск батника при открытии папки
Нужно сделать так, чтоб батник запускался при открытии определенной папки... Что-то вроде заходишь в папку, а тут автораном батник...

Как отследить событие при открытии в новом окне?
Как отследить событие, возникающее когда пользователь переходит по ссылке в новой вкладке или в новом окне? Обычный onclick не отслеживает.

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

При открытии любой папки грузится процессор 50-60%
Всем привет! У меня проблемма при открытии любой папки грузится проц50-60% Грузит xplorer.exe ком AMD 3000+ Видеокарта НВиДИА...

При открытии папки открывается командная строка
зарегистрированные типы файлов, для паток и устройств. фото для примера у меня 7-ка стоит! Проблема такая, при открытии моего...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru