Как уловить момент открытия папки? Нужно поймать момент когда пользователь открывает определенную папку,как примерно это сделать с помощью python на системе windows
Пример:
Пользователь зашел в директорию "C:\Documents and Settings\Admin" и программа должна как то это зафиксировать ну и сделать определенные действия.

21 Авг 2019 в 06:31
224 +1
0
Ответы
1

Для отслеживания действий пользователя на файловой системе Windows, включая открытие папок, можно использовать модуль pywin32, который предоставляет доступ к функциям Windows API.

Ниже приведен пример кода на Python, который отслеживает открытие папки "C:\Documents and Settings\Admin":

import win32api
import win32con
import win32file
import win32event
def watch_folder(folder_path):
FILE_LIST_DIRECTORY = 0x0001
change_handle = win32file.CreateFile (
folder_path,
FILE_LIST_DIRECTORY,
win32con.FILE_SHARE_READ | win32con.FILE_SHARE_WRITE | win32con.FILE_SHARE_DELETE,
None,
win32con.OPEN_EXISTING,
win32con.FILE_FLAG_BACKUP_SEMANTICS,
None
)
overlapped = win32file.ReadFile(change_handle, 1024, True)
while True:
results = win32file.ReadDirectoryChangesW (
change_handle,
1024,
True,
win32con.FILE_NOTIFY_CHANGE_FILE_NAME,
None,
None
)
print(results)
if __name__ == "__main__":
folder_path = "C:\\Documents and Settings\\Admin"
watch_folder(folder_path)

Этот код будет непрерывно отслеживать изменения в указанной папке и выводить их в консоль. Можно добавить свою логику для обработки открытия конкретной папки и выполнения определенных действий. Например, можно добавить условие для проверки, что пользователь открыл именно целевую папку, и выполнить нужные действия в этом случае.

20 Апр в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 017 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир