Ведение файла журнала, связанного с использованием медиа-файлов - PullRequest
0 голосов
/ 09 января 2012

Я хотел бы обнаружить и действовать, когда в c # используется специальный mp3-файл (воспроизводимый как тревога в другом приложении).

В ожидании идей, спасибо всем.

Ответы [ 2 ]

0 голосов
/ 10 января 2012

Windows не обновляет время lastaccess при открытии файла для чтения, поэтому его нельзя использовать.

Есть два способа сделать это, но оба связаны с опросом системы.

  1. Зацикливаться каждые X секунд и пытаться открыть файл для записи. Если это не удается, тогда файл открыт.

  2. Зацикливаться каждые X секунд и использовать WMI Query, чтобы проверить, используется ли файл.

В любом случае, вам придется обрабатывать последовательные «открытия» в течение определенного периода времени как только один экземпляр.

0 голосов
/ 09 января 2012

Вы можете использовать метод File.LastAccessTime.

Подробности здесь:

http://msdn.microsoft.com/en-us/library/system.io.file.getlastaccesstime.aspx

По существу используйте цикл, который периодически проверяет.

Проблема этого решения заключается в том, что из документации MSDN «Этот метод может возвращать неточное значение, поскольку он использует собственные функции, значения которых не могут постоянно обновляться операционной системой».

...