![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы |
![]() |
#1 |
Пользователь
Регистрация: 05.09.2019
Сообщений: 25
|
![]()
Добрый вечер!
Как с помощью Win32 API-функций заблокировать папку на время, пока с ней работает программа? Например, программа просматривает файлы в папке. Или программа удаляет папку. Как сделать, чтобы в это время другие пользователи не могли в этой папке: * создавать, удалять папки, файлы * открывать файлы в режиме "ReadWrite"? При этом моя программа могла делать действия в режиме "ReadWrite". |
![]() |
![]() |
![]() |
#2 |
Модератор
Заслуженный модератор
Регистрация: 12.01.2011
Сообщений: 19,488
|
![]()
Зачем?
Вполне возможно, что никак (ну кроме может быть каких-то сложных полумер типа смены владельца и т.д.). |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 05.09.2019
Сообщений: 25
|
![]()
Например, нужно извлечь данные из файлов. Во время работы программы другой юзер удалит файл. Программа не извлечёт данные из файла.
На первый взгляд логичное действие: закрыть доступ к папке, пока с ней работаешь. Как и в жизни, иногда нужно что-то закрыть, чтобы что-то сделать. |
![]() |
![]() |
![]() |
#4 |
Модератор
Заслуженный модератор
Регистрация: 12.01.2011
Сообщений: 19,488
|
![]()
Скорее всего вы всё усложняете и нет смысла о таком париться, так можно дойти и до диагностики состояния дисков и прочего железа.
Гугл говорит, что подобное только как-нибудь с помощью юзерских прав возможно. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 05.09.2019
Сообщений: 25
|
![]()
Вообще, по логике, у майкрософта должна быть техподдержка.
Я по идее должен им задать этот вопрос, а они должны ответить. Но почему-то у них такой системы нет. Ерунда какая-то. Как я могу узнать, как решить эту задачу? Изучить все существующие api-функции, относящиеся к работе с файловой системой? |
![]() |
![]() |
![]() |
#6 |
Модератор
Заслуженный модератор
Регистрация: 12.01.2011
Сообщений: 19,488
|
![]() |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,095
|
![]()
Нет. Логичное действие открывать файл и обрабатывать, потом следущий. Если что-то не удалось - в лог или сообщать.
Запомните раз и навсегда: помочь != "решите за меня"!
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 05.09.2019
Сообщений: 25
|
![]()
У меня конкретно задачи нет, что нужно делать с папкой: могут быть разные задачи.
Например, надо удалить папку. Программа удаляет все файлы из папки. Когда папка стала пустой, программа удаляет папку. Но если юзер создаст в папке файл во время работы программы, то папка не будет удалена. Если бы была возможность заблокировать папку, то такого не произошло бы. Там сидят люди, не работающие в майкрософте, и мсдн ничем не отличается от этого форума. В гугле я не нашёл. Прежде чем создать тему на форуме, я искал в гугле. На форумах есть раздел "фриланс", я об этом знаю. Но фриланс в основном сделан для написания программ, а не для ответов на небольшие вопросы. Для небольших вопросов как раз форум и сделан. Последний раз редактировалось Рурик; 05.10.2019 в 10:07. |
![]() |
![]() |
![]() |
#9 | |
Модератор
Заслуженный модератор
Регистрация: 12.01.2011
Сообщений: 19,488
|
![]()
некоторые работают/работали.
там больше людей занимающихся винапи и т.д. (как минимум потому что там больше людей). Цитата:
И раз уж речь о фрилансе, то кроме форумов есть и другие сервисы типа фриланс-бирж, codementor, ... |
|
![]() |
![]() |
![]() |
#10 | |||
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,006
|
![]() Цитата:
Исходники блокирование и разблокирования https://github.com/RSATom/Qt/blob/ma...ckfile_win.cpp Цитата:
Цитата:
Если вам надо отслеживать появления файлов, то делаете мониторинг изменений.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Alex11223; 05.10.2019 в 12:53. |
|||
![]() |
![]() |
![]() |
|
Опции темы | |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как прочитать из таблицы данные и добавить к ним новые, при этом заблокировать таблицу на время этих действий | Illusiony | SQL, базы данных | 3 | 13.09.2016 19:39 |
Заблокировать exe-шник через заданное время | nvrrus | Общие вопросы C/C++ | 16 | 25.02.2011 21:28 |
TThread выполняет что-либо пока работает запущенная им программа | Человек_Борща | Общие вопросы Delphi | 7 | 25.11.2010 14:23 |
Как заблокировать папку? | Virus25 | Общие вопросы Delphi | 5 | 15.08.2010 14:08 |