Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: как сделать синхронное копирование файлов (так работает пара *.htm+его папка) ?  (Прочитано 17300 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dest
Опытный

ru
Offline Offline

« : 28-10-2008 00:45 » 

Приветствую!

Постараюсь понятней задать вопрос.
Есть три файла, можно ли сделать так, что бы при копировании одного из них в другую директорию остальные два шли прицепом?
Т.е.  пользователь претаскивает один файл а копируется три

----
(1153: подправил название)
« Последнее редактирование: 29-10-2008 08:00 от Алексей1153++ » Записан
Basurman
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 28-10-2008 04:59 » 

Уточнение вопроса:
1. При копировании любого из трёх файлов, оставшиеся два должны тоже копироваться?
2. С помощью чего выполняется копирование? С помощью штатных средств ОС, предоставляемых пользователю, или программным путём.
3. На какой файловой системе предполагается использовать. Т.к. в NTFS можно использовать один файл с несколькими потоками данных, но при этом приложение само должно этим оперировать, а при копировании на FAT например всё потеряется.
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #2 : 28-10-2008 05:42 » 

1. При копировании любого из трёх файлов, оставшиеся два должны тоже копироваться?
Да
2. С помощью чего выполняется копирование? С помощью штатных средств ОС, предоставляемых пользователю, или программным путём.
С помощью штатных средств ОС
Уточнение вопроса:
3. На какой файловой системе предполагается использовать. Т.к. в NTFS можно использовать один файл с несколькими потоками данных, но при этом приложение само должно этим оперировать, а при копировании на FAT например всё потеряется.
и там и там желательно

Я смутно представлял себе так. Каким-то макаром отслеживать копирование, и если копирование сработало то скопировать и два остальных файла в туже директорию,и чтоб пользовать не заморачивался, чтоб не запускал какую-то там прогу. 
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 28-10-2008 06:47 » 

а общую директорию что мешает создать ? )
Записан

zubr
Гость
« Ответ #4 : 28-10-2008 10:18 » 

Как я понимаю, речь о Windows, тогда несколько вариантов:
1. Перехват API функции ZwCreateFile
2. Перехват событий копирования оболочки Windows
3. Если нужно только при Drag&Drop, то перехват сообщения WM_DROPFILES
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #5 : 28-10-2008 12:45 » 

а общую директорию что мешает создать ? )
Нет, нет не пойдет.

Как я понимаю, речь о Windows, тогда несколько вариантов:
1. Перехват API функции ZwCreateFile
2. Перехват событий копирования оболочки Windows
3. Если нужно только при Drag&Drop, то перехват сообщения WM_DROPFILES
может знаешь где можно поподробней об это почитать?
Записан
zubr
Гость
« Ответ #6 : 28-10-2008 15:16 » 

1. Смотри ресурс www.wasm.ru
2. Интерфейс ICopyHook, надо будет реализовывать свой метод CopyCallback данного интерфейса. См. msdn.
3. WM_DROPFILES - msdn.
Записан
Basurman
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 28-10-2008 20:04 » 

Всё это советы - как решить проблему программным путём, а штатными средствами ОС это не выполнить.
Кстати, насчёт программного пути, а не проще ли написать батничек?
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #8 : 28-10-2008 23:01 » 

не проще ли написать батничек?

Дело за малым - научиться их писать    Улыбаюсь
Записан
zubr
Гость
« Ответ #9 : 29-10-2008 03:56 » 

Всё это советы - как решить проблему программным путём, а штатными средствами ОС это не выполнить.
Кстати, насчёт программного пути, а не проще ли написать батничек?
Ну пользователь то копировать файл будет штатными средствами, а программка будет отслеживать действия пользователя и копировать остальные файлы. Естественно программка должна работать пока работает система.
Насчет батника - а кто или что его будет запускать?
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 29-10-2008 07:23 » 

батничек не проблема, кто инициатор копирования? Пользователь или это просто транзитная папка?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
zubr
Гость
« Ответ #11 : 29-10-2008 08:23 » 

Дык в том то и дело, что батник данный вопрос не решит. Судя по задаче, надо перехватывать действия пользователя, а причем здесь батник?
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #12 : 29-10-2008 08:56 » 

кто инициатор копирования? Пользователь или это просто транзитная папка?
пользователь
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 29-10-2008 09:20 » 

батник помог бы например в перекладке - т.е. положили что-то в папочку, а оно само оттуда бац - скопировалось по нужному адресу.
А если  пользователь инициатор - то кто-то должен отследить действия ползователя

Вот как бы в названии темы прозвучало что-то про *.htm - а это то здесь причем?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #14 : 29-10-2008 09:56 » new

это при том, что файл htm и его одноимённая папка ведут себя именно описанным образом (если в настройках винды не отключили)
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines